Apache spark 如何指定多个Spark独立主机(对于Spark.master属性)?

Apache spark 如何指定多个Spark独立主机(对于Spark.master属性)?,apache-spark,spark-cassandra-connector,Apache Spark,Spark Cassandra Connector,我有1个主节点,3个工作节点与主节点通信 作为一个灾难恢复,我们创建了2个主机,并让zookeeper选择主机。我正在使用datastax的spark Cassandra连接器。是否有一种方法可以传递多个Spark Master URL,以便连续尝试成功的方法 new SparkConf(true) .set("spark.cassandra.connection.host", "10.3.2.1") .set("spark.cassandra.auth.us

我有1个主节点,3个工作节点与主节点通信

作为一个灾难恢复,我们创建了2个主机,并让zookeeper选择主机。我正在使用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");

tl;dr使用逗号分隔
主机:端口
条目,例如
spark://localhost:7077,localhost:17077

请注意,您应该避免硬编码连接详细信息,因为它们是操作的一部分,应该使用spark submit的
--master
命令行选项定义:

$ ./bin/spark-submit --help

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

请参见解析发生的位置:

val masterUrls = sparkUrl.split(",").map("spark://" + _)
sparkUrl
则使用
“spark://(.*)”.r
regex进行匹配