Hadoop では、マスターノードがクラスター全体を管理し、ジョブの投入、監視、終了を行います。Hadoop クラスターでジョブを実行するには、マスターノードにジョブを投入します。
前提条件
-
EMR on ECS でクラスターが作成されています。詳細については、「クラスターの作成」をご参照ください。
-
ローカルサーバーがクラスターのマスターノードに接続できるようにするには、クラスターの作成時に [パブリックネットワーク] スイッチを有効にするか、クラスターの作成後に ECS コンソールでマスターノードの ECS インスタンスに静的パブリック IP アドレスまたは Elastic IP アドレス (EIP) を割り当てます。 詳細については、「Elastic IP アドレス (EIP)」をご参照ください。
-
クラスターのセキュリティグループでポート 22 が開いていること。
操作手順
-
SSH 経由でクラスターのマスターノードにログオンします。詳細については、「クラスターにログオンする」をご参照ください。
-
SSH 経由でノードに接続した後、次のコマンドを実行してジョブを投入し、実行します。この例は Spark 3.1.1 の場合です。
spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 512m --num-executors 1 --executor-memory 1g --executor-cores 2 /opt/apps/SPARK3/spark-current/examples/jars/spark-examples_2.12-3.1.1.jar 10説明spark-examples_2.12-3.1.1.jarはクラスター内のサンプル JAR ファイルで、クラスターにログオンすると/opt/apps/SPARK3/spark-current/examples/jarsパスで見つけることができます。 -
ジョブの実行記録を確認します。ジョブを投入した後、YARN UI でその実行記録を確認できます。
-
ポート 8443 を開放します。詳細については、「セキュリティグループの管理」をご参照ください。
-
ユーザーを追加します。詳細については、「OpenLDAP ユーザー管理」をご参照ください。
YARN UI にアクセスするには、Knox のユーザー名とパスワードが必要です。
-
[EMR on ECS] ページで、対象クラスターの行の [Cluster Services] をクリックします。
-
[Access Links and Ports] タブをクリックします。
-
[YARN UI] 行のパブリックリンクをクリックします。
Knox のユーザー名とパスワードでログインします。
-
[All Applications] ページで、対象ジョブの ID をクリックして、実行の詳細を確認します。
ページの上部には、クラスターメトリクス (投入されたアプリケーション、実行中のアプリケーション、実行中のコンテナ、使用中のメモリなど) とクラスターノードメトリクスが表示されます。これらのメトリクスの下には、[ID]、[User]、[Name]、[Application Type]、[Queue]、[Start Time]、[State]、[FinalStatus] などの列を含むアプリケーションの一覧テーブルが表示されます。[State] 列でリスト内のジョブを見つけ、その ID をクリックして詳細を確認します。
-