我需要在一组机器上运行一些sparkscala脚本。数据由运行在其中一台机器上的apachekafka生产者生成。
我已经在apachespark的conf目录中配置了slaves.template文件,其中包含集群中每个节点的url。
我使用以下指令运行脚本: ./bin/spark-submit --class com.unimi.lucaf.App /Users/lucaferrari/scala-spark-script2/target/scala-spark-script-1.0.jar
但它似乎只在主节点上运行。
我该怎么修?
谢谢
解决了的
在文件夹中 conf
重命名为 slaves.template
文件到 slaves
并添加了每个工人的网址
在文件夹中 conf
重命名为 spark-env.sh.template
文件到 spark-env.sh
并添加了以下行:
SPARK_MASTER_HOST=1.2.3.4 SPARK_MASTER_PORT=7077
SPARK_MASTER_WEBUI_PORT=4444 SPARK_WORKER_WEBUI_PORT=8081
在文件夹中 sbin
我在主机上运行 start-master.sh
脚本。
在每个worker上,在文件夹中 sbin
我跑了 start-slave.sh spark://master-url:master-port
. master-url
以及 master-port
必须与中配置的相同 spark-env.sh
文件。
在脚本的spark配置中,我还添加了主url( val sparkConf = new SparkConf().setAppName("SparkScript").setMaster("spark://master-url:master-port")
使用运行脚本 ./bin/spark-submit --class com.unimi.lucaf.App /home/spark1/scala-spark-script2/target/scala-spark-script-1.0.jar --master spark://master-url:master-port --deploy-mode cluster
1条答案
按热度按时间bmp9r5qi1#
你试过添加
选择?如果您在spark submit中省略此选项,它将在本地运行。
您还可以查看spark关于spark提交选项的文档:https://spark.apache.org/docs/latest/submitting-applications.html#launching-使用spark提交的申请