2017-05-16 6 views
2

私は3つのワーカーノードがマスターに通信している1つのマスターを持っています。複数のSparkスタンドアロンマスターを指定する方法(spark.masterプロパティ用)

災害復旧では、2人のマスターを作成し、飼い主にマスターを選出させました。私はdatastaxのspark Cassandraコネクタを使用しています。複数のSpark Master URLを連続して試して成功させる方法がありますか?

new SparkConf(true) 
     .set("spark.cassandra.connection.host", "10.3.2.1") 
     .set("spark.cassandra.auth.username","cassandra") 
     .set("spark.cassandra.auth.password",cassandra")) 
     .set("spark.master", "spark://1.1.2.2:7077") // Can I give multiple Urls here? 
     .set("spark.app.name","Sample App"); 

答えて

3

TL; host:portエントリを分離するために、DR使用コンマ、例えばspark://localhost:7077,localhost:17077

彼らは業務の一部であり、実際の火花提出--masterコマンドラインオプションを使用して定義されるべきであるあなたは、接続の詳細をハードコーディングを避ける必要があることに注意してください:

$ ./bin/spark-submit --help 

Options: 
    --master MASTER_URL   spark://host:port, mesos://host:port, yarn, or local. 

relevant Spark codeを参照してください。構文解析が行われます。

val masterUrls = sparkUrl.split(",").map("spark://" + _) 

sparkUrl"""spark://(.*)""".r正規表現。

関連する問題