Main Content

Spark クラスターの構成

適切に構成された MATLAB® クライアントから、tall (MATLAB)配列および関数mapreduce (MATLAB)を含む並列 MATLAB コードを Spark™ クラスターに送信します。

MATLAB コードをクラスターで実行するようにクライアントを構成するには、意図したクライアント マシンからクラスターへの送信が既に可能になっていなければなりません。クライアント マシンには MATLAB 外のクラスターにアクセスできる Spark インストール環境がなければなりません。

多くの Spark ディストリビューションは Windows® クライアントからの Linux® ベース クラスターへの直接アクセスをサポートしていません。Windows クライアントのユーザーは多くの場合、Windows クライアントから SSH または VNC を介してアクセスできる Linux ゲートウェイ ノードを設定する必要があります。その後、このゲートウェイ ノードからクラスターにアクセスできます。

クラスターの構成

  1. MATLAB Parallel Server™ をクラスター インフラストラクチャと統合します。詳細については、サードパーティ製スケジューラ向けの MATLAB Parallel Server のインストールと構成を参照してください。

    MATLAB Parallel Server は、Spark スタンドアロンや Databricks™ などのさまざまな環境で実行されている Spark クラスターをサポートします。

  2. クラスターで Kerberos 認証が必要とされる場合は、MATLAB Parallel Server のインストール環境が適切に設定されていることを確認してください。詳細については、Kerberos 認証を参照してください。

クライアント構成

  1. クライアントが MATLAB 外の Spark クラスターにアクセスできることを確認します。

  2. クラスターで Kerberos 認証が必要とされる場合は、クライアント MATLAB のインストール環境が Kerberos 認証用に構成されていることを確認します。詳細については、Kerberos 認証を参照してください。

MATLAB 内からクラスターにアクセスするには、次のステートメントを使用して parallel.cluster.Spark (Parallel Computing Toolbox) オブジェクトを設定します。

cluster = parallel.cluster.Spark('/path/to/spark/install');

mapreducer (MATLAB)を使用して mapreduce が Spark クラスター オブジェクトで実行できるように指定します。

Spark クラスター上で並列 MATLAB コードを実行する方法の例については、Spark クラスターでの tall 配列の使用 (Parallel Computing Toolbox)を参照してください。

Kerberos 認証

クラスターで Oracle® Java® 暗号化拡張機能を必要とする Kerberos 認証が使用されている場合は、MATLAB と MATLAB Parallel Server のすべてのインストール環境を構成しなければなりません。Cloudera® ディストリビューションなどの Hadoop® で Spark を使用している場合は、以下の構成手順を実行する必要がある可能性が高いです。

構成手順はクライアントとワーカーの MATLAB インストール環境で同じです。

R2018b 以降では、Java インストール環境の適切なセキュリティ ポリシーを有効にして、MATLAB インストール環境を構成します。

  1. MATLAB エディターで、ファイル ${MATLAB_ROOT}/sys/java/jre/${ARCH}/jre/lib/security/java.security を開きます。

  2. 次の行

    #crypto.policy=unlimited
    を次に変更します。
    crypto.policy=unlimited

Spark バージョンのサポート

Spark 2.2 以降では、MATLAB の mapreduce、tall 配列、およびデータストアの並列使用がサポートされています。クライアントのすべてのアーキテクチャをサポートする Spark クラスターでは、そのクラスターの Linux および Mac アーキテクチャをサポートしていても、tall 配列を使用できます。これは、クロスプラットフォーム サポートを含みます。

参考

(Parallel Computing Toolbox)

関連するトピック