apache-spark - 如何指定多个Spark Standalone master(对于spark.master属性)?

标签 apache-spark cassandra spark-cassandra-connector

我有 1 个主节点和 3 个与主节点通信的工作节点。

作为灾难恢复,我们创建了 2 个 Master,并让 Zookeeper 选举 Master。我正在使用 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 使用逗号分隔 host:port条目,例如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.

请参阅relevant Spark code解析发生的地方:

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

同时sparkUrl使用 """spark://(.*)""".r 进行匹配正则表达式。

关于apache-spark - 如何指定多个Spark Standalone master(对于spark.master属性)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43993246/

相关文章:

hadoop - pig 按命令分组不起作用

apache-spark - Spark如何在cassandra表之间复制数据?

apache-spark - 如何通过 pyspark 将十六进制数据插入 Cassandra 中的 blob 数据类型列

apache-spark - Spark Streaming 与 cassandra 直接连接不起作用

c# - 如何在 C# 中运行 Apache Spark 源代码

apache-spark - spark 提交应用程序中的 Scala ScriptEngine 问题

apache-spark - 在多列上应用窗口函数

java - 如何获取 Cassandra 中给定复合键范围之间的所有行?

Cassandra - 如何按最新时间戳分组

scala - h2o scala代码编译错误找不到对象ai