2017-04-26 10 views
3

リモートクラスタに接続してSparkプロセスを実行したいとします。 私が読んだところでは、これはSparkConfで指定されています。Scala Sparkがリモートクラスタに接続

val conf = new SparkConf() 
    .setAppName("MyAppName") 
    .setMaster("spark://my_ip:7077") 

ここで、my_ipは自分のクラスタのIPアドレスです。 残念ながら、接続が拒否されます。だから、私はいくつかの資格情報が正しく接続するために追加されなければならないと推測しています。資格情報はどのように指定しますか?これは.set(key、value)で行われるようですが、これについてのリードはありません。

+0

クラスタ上で設定する必要がありますもちろんのpopuar Java Secure Channel (JSCH)を使用することができた場合には、Sparkスタンドアロンクラスタまたは糸に接続していますか? – jamborta

+0

@jamborta私は糸に接続しています –

+0

sshセッションの証明書を作成し、それが動作することを確認してください。ファイアウォールがこのポートを接続できるようにしてください。 – Pavel

答えて

2

2つの欠けているものがあります。

  • クラスタマネージャはyarn(setMaster(「糸」))に設定する必要がありますし、配備モードclusterに、 はあなたの現在の設定がスパークスタンドアローンのために使用されています。詳細: http://spark.apache.org/docs/latest/configuration.html#application-properties
  • また、あなたは、Sparkは、そのようなあなたのマスターノードのIPとして糸の設定を、拾うことができるように、クラスタからyarn-site.xmlcore-site.xmlファイルを取得し、HADOOP_CONF_DIRでそれらを配置する必要があります。さらに詳しい情報:ところでhttp://theckang.com/2015/remote-spark-jobs-on-yarn/

、これはあなたが仕事を提出する​​を使用する場合、プログラム的にそれを達成するために、より複雑だとのみをリモート設定に注意が必要ですyarn-clientモードを使用することができます動作します。アプリの設定の初期化であなたのspark-submiトンコマンドまたはsetMaster("yarn")ため--master yarnを使用する必要があり、スパークを使用して糸にアプリケーションを起動するために

0
  1. リモートホストから"spark-submit"コマンドを送信する場合は、環境パラメータが適切に
関連する問題