如何在集群模式下启动JavaSparkContext客户端?

时间:2019-02-06 11:46:58

标签: apache-spark

如何启动JavaSparkContext客户端集群模式?我正在尝试使用以下配置以集群模式(Spark集群工作人员无法通过网络访问我运行Java代码的机器的网络)连接到现有的Spark集群:

SparkConf conf = new SparkConf().setMaster("spark://spark-prod:7077")
                                    .setAppName("Word Count")
                                    .set("spark.submit.deployMode", "cluster");
    // Create a Java version of the Spark Context
    JavaSparkContext sc = new JavaSparkContext(conf);

但是客户端会忽略该设置并在我的计算机上启动驱动程序,而不是使用工作人员的驱动程序:

INFO Utils: Successfully started service 'sparkDriver' on port 45847.

并且工作执行者也在尝试连接到我的计算机的驱动程序,而不是工作驱动程序之一(就像应该与spark.submit.deployMode属性一起):

"--driver-url" "spark://CoarseGrainedScheduler@my_machine_dns:45847"

所以这是一个问题:如何以spark.submit.deployMode = cluster模式启动JavaSparkContext客户端?

1 个答案:

答案 0 :(得分:0)

如果您能够使用spark-submit命令执行此操作,那么您必须能够使用新的JavaSparkContext(conf)执行相同的操作,此处conf对象应具有集群模式 我相信您需要在计算机和群集之间启用连接