我需要在一組機器上運行一些Spark scala腳本。數據由運行在其中一臺機器上的Apache Kafka生產者生成。Kafka和apache Spark串流集羣配置
我已經與集羣的每個節點的URL配置Apache的星火在conf目錄下的文件slaves.template。
我用這條指令運行腳本: ./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
腳本。 - 在每一個工作人員,在文件夾
sbin
我跑start-slave.sh spark://master-url:master-port
。master-url
和master-port
必須與在spark-env.sh
文件中配置的配置相同。 - 在腳本的火花配置我還添加了主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
你使用過'deploy-mode'嗎?請分享你的火花集羣如何準備?使用什麼版本的火花和更多的信息。 您還可以檢查 https://spark.apache.org/docs/latest/submitting-applications.html – chaitan64arun