2017-07-07 138 views
1

我需要在一組機器上運行一些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但它似乎只在主節點上運行。

我該如何解決?

感謝

解決

  1. 在文件夾conf改名爲slaves.template文件slaves並加入每一個工人
  2. 在文件夾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

  3. 在主計算機上的文件夾sbin我運行start-master.sh腳本。
  4. 在每一個工作人員,在文件夾sbin我跑start-slave.sh spark://master-url:master-portmaster-urlmaster-port必須與在spark-env.sh文件中配置的配置相同。
  5. 在腳本的火花配置我還添加了主URL(val sparkConf = new SparkConf().setAppName("SparkScript").setMaster("spark://master-url:master-port")
  6. 運行與./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
+0

你使用過'deploy-mode'嗎?請分享你的火花集羣如何準備?使用什麼版本的火花和更多的信息。 您還可以檢查 https://spark.apache.org/docs/latest/submitting-applications.html – chaitan64arun

回答