2017-01-03 6 views
0

ジョブを管理し、spark(1.6を使用)を介して実行するjavaクラスがあります。 私はAPI - sparkLauncherを使用しています。 startApplication(SparkAppHandle.Listener ... listener)を呼び出して、ジョブの状態を監視します。 問題は私が実際のクラスタ環境で動作するように移動したことです。この実装では、内部実装がポートを開くためにlocalhost(ループバック)のみを使用しているため、マスタとワーカーが同じマシン上にない場合は動作しません労働者が拘束されるようにする。 API sparkLauncher.launch()は機能しますが、ステータスを監視することはできません。 Javaコードを使用したクラスタ環境のベストプラクティスは何ですか? 私はまた、隠された残りのAPIのオプションを見た、それは十分に成熟している?どういうわけか私はそれを有効にする必要があります(ポートが外部から開いていてもアクセスが拒否されています)。クラスタモードでjavaを使用してスパークジョブを送信および監視します

答えて

0

のREST API

を見つけることができます

詳細は、彼らはまた、JSONとしてご利用いただけます。これにより、開発者はSparkの新しいビジュアライゼーションと監視ツールを簡単に作成できます。 JSONは、実行中のアプリケーションと履歴サーバーで使用できます。エンドポイントは/ api/v1にマウントされます。たとえば、履歴サーバーの場合、通常http://:18080/api/v1、実行中のアプリケーションの場合はhttp://localhost:4040/api/v1にアクセスできます。あなたがお返事のためhere.

+0

感謝を見つけることができます

詳細。私は隠された残りのAPIを使用しようとしていますが、別のマシンからスパークマスターを実行すると、403が表示されます。ポートはマシンで開きます。スパークのセキュリティ設定を知っていますか? – user601929

+0

ポートにアクセスできるかどうか確認してください。 あなたは何かを試すことができます: telnet server.hostname port –

+0

私は外からは持ちませんが、セキュリティグループではポートは開いていますが、スパーク設定から何らかの形で有効にする必要がありますか? – user601929

0

すべてのSparkContextは、デフォルトでポート4040のWeb UIを起動し、アプリケーションに関する有用な情報を表示します。これには含まれています:

  • スケジューラステージとタスクのリスト
  • RDDサイズの概要とメモリ使用量
  • 環境情報。
  • 実行している執行

に関する情報あなたは、単にWebブラウザでhttp://driver-node:4040を開いて、このインターフェイスにアクセスすることができます。複数のSparkContextが同じホスト上で実行されている場合、4040(4041,4042など)で始まる連続するポートにバインドされます。あなたはUIに指標を表示するだけではhere.

関連する問題