EMRコンソールのドロップダウンからSpark(1.3.1)がインストールされたAWS EMRクラスターを実行しています。Sparkは最新であり、データを処理していますが、 WebUIに割り当てられているポートを見つけます。接続なしで4040と8080の両方をポート転送しようとしました。
ssh -i ~/KEY.pem -L 8080:localhost:8080 hadoop@EMR_DNS
1)Spark WebUIに割り当てられたポートが何であるかを確認するにはどうすればよいですか?2)Spark WebUIが実行されていることを確認するにはどうすればよいですか?
EMR上のSparkはYARN用に構成されているため、Spark UIは、YARNリソースマネージャー( http://spark.Apache.org/docs/ latest/monitoring.html )これに到達する最も簡単な方法は、SSHによって開かれたポートを使用してSOCKSでブラウザーを設定し、EMRコンソールからリソースマネージャーを開き、右側にあるアプリケーションマスターURLをクリックすることです。実行中のアプリケーションSpark=履歴サーバーは、デフォルトのポート18080で使用できます。
http://docs.aws.Amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-web-interfaces.html にあるEMRの靴下の例
EMRのドキュメントで提案されているように、SOCKSを使用したブラウザの設定を処理したくない場合の代替案を次に示します。
spark uiを実行しているマシンへのポート転送を使用して、マスターノードへのSSHトンネルを開きます
ssh -i path/to/aws.pem -L 4040:SPARK_UI_NODE_URL:4040 hadoop@MASTER_URL
MASTER_URL(質問のEMR_DNS)は、クラスターのEMR管理コンソールページから取得できるマスターノードのURLです。
SPARK_UI_NODE_URLは、stderrログの上部近くにあります。ログ行は次のようになります。
16/04/28 21:24:46 INFO SparkUI: Started SparkUI at http://10.2.5.197:4040
ブラウザでlocalhost:4040を指定します
Spark 2.6.1を実行しているEMR 4.6でこれを試しました
次のコマンドを実行するだけです。
ssh -i /your-path/aws.pem -N -L 20888:ip-172-31-42-70.your-region.compute.internal:20888 [email protected]
変更する必要がある3つの場所があります。
.pem
ファイル最後に、Yarn UIでSpark Application Tracking URLをクリックして、URLを置き換えるだけです。
"http://your-internal-ip:20888/proxy/application_1558059200084_0002/"
->
"http://localhost:20888/proxy/application_1558059200084_0002/"
EMR 5.xで動作しました