Main Content

Hadoop クラスターの構成

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

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

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

クラスターの構成

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

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

クライアント構成

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

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

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

setenv('HADOOP_HOME', '/path/to/hadoop/install')
cluster = parallel.cluster.Hadoop;

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

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

Kerberos 認証

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

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

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

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

  2. 次の行

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

以前のリリースの場合、追加のセキュリティ ファイルを Oracle からダウンロードしなければなりません。

  1. Oracle Java 暗号化拡張機能の zip ファイルを Oracle Java SE ページからダウンロードします。

  2. ダウンロードした zip ファイルを一時フォルダーに解凍します。

  3. ${MATLABROOT}/sys/java/jre/${ARCH}/jre/lib/security フォルダー内の local_policy.jar および US_export_policy.jar の各ファイルを、ダウンロードしたバージョンに置き換えます。

Hadoop バージョンのサポート

  • MATLAB mapreduce は、Hadoop 2.x クラスターでサポートされています。Hadoop 1.x クラスターのサポートは削除されていることに注意してください。

  • MATLAB の tall 配列は、Spark™ 対応 Hadoop 2.x クラスターでサポートされています。クライアントのすべてのアーキテクチャをサポートする、Spark 対応 Hadoop クラスターでは、そのクラスターの Linux および Mac アーキテクチャをサポートしていても、tall 配列を使用できます。これは、クロスプラットフォーム サポートを含みます。

機能結果代替方法互換性についての考慮事項

MATLAB mapreduce を Hadoop 1.x クラスターで実行するためのサポートが削除されている。

エラー

Hadoop 2.x がインストールされたクラスターを使用して MATLAB mapreduce を実行する。

Hadoop 1.x 上で稼働している MATLAB mapreduce コードを Hadoop 2.x に移行する。

参考

(Parallel Computing Toolbox)

関連するトピック