Spark クラスター用の構成
適切に構成された MATLAB® クライアントから、tall
(MATLAB) 配列および関数 mapreduce
(MATLAB) を含む並列 MATLAB コードを Spark™ クラスターに送信します。
クラスターの構成
以下の手順に従って、MATLAB Parallel Server™ のインストールと Spark クラスターとのインターフェイスをとります。
MATLAB Parallel Server をクラスター インフラストラクチャと統合します。詳細については、その他のサードパーティ製スケジューラ向けの MATLAB Parallel Server のインストールを参照してください。
MATLAB Parallel Server は、Spark スタンドアロンや Databricks™ などのさまざまな環境で実行されている Spark クラスターをサポートします。
クラスターで Kerberos 認証が必要とされる場合は、MATLAB Parallel Server のインストール環境が適切に設定されていることを確認してください。詳細については、Kerberos 認証を参照してください。
クライアント構成
MATLAB コードをクラスターで実行するようにクライアントを構成するには、意図したクライアント マシンからクラスターへの送信が既に可能になっていなければなりません。クライアント マシンには MATLAB 外のクラスターにアクセスできる Spark インストール環境がなければなりません。
多くの Spark ディストリビューションは Windows® クライアントからの Linux® ベース クラスターへの直接アクセスをサポートしていません。Windows クライアントのユーザーは多くの場合、Windows クライアントから SSH または VNC を介してアクセスできる Linux ゲートウェイ ノードを設定する必要があります。その後、このゲートウェイ ノードからクラスターにアクセスできます。
クラスターで Kerberos 認証が必要とされる場合は、MATLAB クライアントのインストール環境が Kerberos 認証用に構成されていることを確認する必要があります。詳細については、Kerberos 認証を参照してください。
クラスター プロファイルの作成
この手順では、MATLAB クライアントがクラスターに接続できるようにするクラスター プロファイルを作成します。
クラスター プロファイル マネージャーを起動します。[ホーム] タブの [環境] 領域で、[並列] 、 [クラスターの作成と管理] を選択します。
クラスター プロファイル マネージャーで [クラスター プロファイルの追加] 、 [Spark] を選択して、新しいプロファイルを作成します。
リストで新しいプロファイルが選択されている状態で、[名前の変更] をクリックし、プロファイル名を編集して「
SparkInstallTest
」にします。Enter キーを押します。[プロパティ] タブで [編集] を選択し、次のフィールドを設定します。
[説明] フィールドに For testing installation と入力します。
[ClusterMatlabRoot] を、ワーカー マシン上で実行する MATLAB のインストール場所に設定します。
クラスターでオンライン ライセンスを使用する場合、[RequiresOnlineLicensing] を true に設定します。
[RequiresOnlineLicensing] を
true
に設定した場合は、[LicenseNumber] フィールドにライセンス番号を入力します。[SparkInstallFolder] を、クライアント マシン上の Spark のインストール場所に設定します。
[SparkProperties] テーブルで追加の Spark プロパティを指定します。たとえば、推奨ワーカー数を 16 に指定するには、[SparkProperties] テーブルで [追加] を選択します。
spark.executor.instances
という名前の新しいプロパティを指定して、値に16
を入力し、データ型としてString
を選択します。[完了] をクリックしてクラスター プロファイルの変更を保存します。ダイアログ ボックスは次のように表示されます。
クラスター プロファイルの検証
この手順では、クラスター プロファイルを検証し、その結果を基にインストール環境を検証します。
MATLAB デスクトップからクラスター プロファイル マネージャーを起動します (まだ開いていない場合)。[ホーム] タブの [環境] 領域で、[並列] 、 [クラスターの作成と管理] を選択します。
リストで "SparkInstallTest" クラスター プロファイルを選択します。
[検証] タブをクリックします。
チェック ボックスを使用してすべてのテストまたは検証段階のサブセットを選択し、プロファイルの検証時に使用するワーカーの数を指定します。
[検証] をクリックします。
[検証結果] タブに出力が表示されます。次の図では、すべての検証テストをパスしたプロファイルの結果が表示されています。
メモ
検証をパスしなかった場合は、MathWorks インストール サポート チームにお問い合わせください。
検証がパスすると、MATLAB クライアントからクラスターへのアクセスに使用できる有効なプロファイルの準備ができたことになります。ご使用のアプリケーションに合わせて、追加の Spark プロパティ、NumWorkersRange
、AttachedFiles
、AdditionalPaths
などを指定するなど、プロファイルを変更することができます。
他のユーザー用にプロファイルを保存するには、プロファイルを選択して [エクスポート] をクリックしてから、目的の場所にプロファイルをファイルとして保存します。後で、クラスター プロファイル マネージャーの実行中に、他のユーザーは [インポート] をクリックしてこのプロファイルをインポートできます。
例
関数 mapreducer
(MATLAB) を使用して、実行環境を Spark クラスターに変更します。
Spark クラスター上で並列 MATLAB コードを実行する方法の例については、Spark クラスターでの tall 配列の使用 (Parallel Computing Toolbox)を参照してください。
Kerberos 認証
クラスターで Oracle® Java® 暗号化拡張機能を必要とする Kerberos 認証が使用されている場合は、MATLAB と MATLAB Parallel Server のすべてのインストール環境を構成しなければなりません。Cloudera® ディストリビューションなどの Hadoop® で Spark を使用している場合は、以下の構成手順を実行する必要がある可能性が高いです。
構成手順はクライアントとワーカーの MATLAB インストール環境で同じです。
R2018b 以降では、Java インストール環境の適切なセキュリティ ポリシーを有効にして、MATLAB インストール環境を構成します。
MATLAB エディターで、ファイル
${MATLAB_ROOT}/sys/java/jre/${ARCH}/jre/lib/security/java.security
を開きます。次の行
を次に変更します。#crypto.policy=unlimited
crypto.policy=unlimited
Spark バージョンのサポート
Spark 2.2 以降では、MATLAB の mapreduce
、tall 配列、およびデータストアの並列使用がサポートされています。クライアントのすべてのアーキテクチャをサポートする Spark クラスターでは、そのクラスターの Linux および Mac アーキテクチャをサポートしていても、tall 配列を使用できます。これは、クロスプラットフォーム サポートを含みます。
Spark Executor のメモリの既定値
MATLAB から投入される Spark ジョブの spark.executor.memory
プロパティの既定値は 2560 MB です。
参考
parallel.cluster.Spark
(Parallel Computing Toolbox)
関連するトピック
- その他のサードパーティ製スケジューラ向けの MATLAB Parallel Server のインストール
- Spark クラスターでの tall 配列の使用 (Parallel Computing Toolbox)