Hadoop クラスターの構成
適切に構成された MATLAB クライアントから、tall
(MATLAB)配列およびmapreduce
(MATLAB)関数を含む並列 MATLAB® コードを Hadoop クラスターに送信できます。
MATLAB コードをクラスターで実行するようにクライアントを構成するには、意図したクライアント マシンからクラスターへの送信が既に可能になっていなければなりません。クライアント マシンには MATLAB 外のクラスターにアクセスできる Hadoop® インストール環境がなければなりません。
多くの Hadoop ディストリビューションは Windows® クライアントからの Linux® ベース クラスターへの直接アクセスをサポートしていません。Windows クライアントのユーザーは多くの場合、Windows クライアントから SSH または VNC を介してアクセスできる Linux ゲートウェイ ノードを設定する必要があります。その後、このゲートウェイ ノードからクラスターにアクセスできます。
クラスターの構成
MATLAB Parallel Server™ をクラスター インフラストラクチャと統合します。詳細については、サードパーティ製スケジューラ向けの MATLAB Parallel Server のインストールと構成を参照してください。
クラスターで Kerberos 認証が必要とされる場合は、MATLAB Parallel Server のインストール環境が適切に設定されていることを確認してください。詳細については、Kerberos 認証を参照してください。
クライアント構成
クライアントが MATLAB 外の Hadoop クラスターにアクセスできることを確認します。
クラスターで 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 インストール環境を構成します。
MATLAB エディターで、ファイル
${MATLAB_ROOT}/sys/java/jre/${ARCH}/jre/lib/security/java.security
を開きます。次の行
を次に変更します。#crypto.policy=unlimited
crypto.policy=unlimited
以前のリリースの場合、追加のセキュリティ ファイルを Oracle からダウンロードしなければなりません。
Oracle Java 暗号化拡張機能の zip ファイルを Oracle Java SE ページからダウンロードします。
ダウンロードした zip ファイルを一時フォルダーに解凍します。
${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 | エラー | Hadoop 2.x がインストールされたクラスターを使用して MATLAB | Hadoop 1.x 上で稼働している MATLAB |
参考
parallel.cluster.Hadoop
(Parallel Computing Toolbox)
関連するトピック
- サードパーティ製スケジューラ向けの MATLAB Parallel Server のインストールと構成
- Spark クラスターでの tall 配列の使用 (Parallel Computing Toolbox)
- Hadoop クラスター上での mapreduce の実行 (Parallel Computing Toolbox)
- Hadoop シーケンス ファイルの読み取りと解析 (MATLAB)