我需要你的帮助,我创建了2个应用程序(一个使用喷雾框架,另一个接收来自kafka的消息并将其发送到cassandra)。 两者都在运行,永远不会停止。 我在服务器上独立,我的conf是:
- In spark_env.sh :
SPARK_MASTER_IP=MYIP
SPARK_EXECUTOR_CORES=2
SPARK_MASTER_PORT=7077
SPARK_EXECUTOR_MEMORY=4g
#SPARK_WORKER_PORT=65000
MASTER=spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}
SPARK_LOCAL_IP=MYIP
SPARK_MASTER_WEBUI_PORT=8080
- In spark_env.sh :
spark.master spark://MYIPMASTER:7077
spark.eventLog.enabled true
spark.eventLog.dir /opt/spark-1.6.1-bin-hadoop2.6/spark-events
spark.history.fs.logDirectory /opt/spark-1.6.1-bin-hadoop2.6/logs
spark.io.compression.codec lzf
spark.cassandra.connection.host MYIPMASTER
spark.cassandra.auth.username LOGIN
spark.cassandra.auth.password PASSWORD
我可以在两个页面上访问: MYIP:8080 /和MYIP:4040 / 但在http://MYIP:8080/,我只看到我的工人,我看不到我的应用程序正在运行。
当我提交时,我使用此:
/opt/spark-1.6.1-bin-hadoop2.6/bin/spark-submit --class MYCLASS --verbose --conf spark.eventLog.enable=true --conf spark.master.ui.port=8080 --master local[2] /opt/spark-1.6.1-bin-hadoop2.6/jars/MYJAR.jar
为什么? 你能帮帮我吗?
非常感谢:)
答案 0 :(得分:2)
在您的spark-submit命令中,您使用 local[2]
作为 --master spark://MYIPMASTER:7077
,它以本地模式提交应用程序。如果要在正在运行的独立群集上运行它,则应在主选项中传递spark master URL,即 dsg.1.2.3.4.5.6.7.5 = STRING: 1234 blah blah blah
OR
dsg.1.2.3.4.5.6.7.5 = STRING: "1234 blah blah blah"
答案 1 :(得分:0)
对于主广告而言,spark-submit将遵循以下命令进行设置,
SparkSession.builder().master("...")
--master
参数spark-defaults.conf
中的默认配置答案 2 :(得分:0)
模式:独立集群
1> bin / spark-submit --class com.deepak.spark.App ../ spark-0.0.2-SNAPSHOT.jar --master spark://172.29 .44.63:7077 ,不起作用,因为在jar后面指定了master
2> bin / spark-submit --class com.deepak.spark.App --master spark://172.29.44.63:7077 ../ spark-0.0.2-SNAPSHOT.jar ,该方法有效