場景:三個spark streaming作業(暫且叫a、b、c),作業a接收來自kafka的原始日志,處理后,再用兩個不同的topic發到kafka,作業b和作業c分別從kafka接收這兩個不同的topic。
機器:三臺虛擬機,4核,記憶體10G (安裝了cdh5.3.3,安裝是記憶體為4G,后來擴到10G)
問題:
①部署模式為local,這三個作業能正常運行,都能接收kafka,并進行處理。
/usr/lib/spark-1.3.1-bin-hadoop2.4/bin/spark-submit --class com.XXX --jars xxx.jar --master local[2] --conf spark.ui.port=4042 --executor-memory 768M yyy.jar
(三個作業都按上述命令分別在三臺機器上運行)
②部署模式為standalone,作業a能接收資料,并成功生產訊息到kafka,可是作業b和作業c并沒有處理資料,作業b和作業c有沒有收到kafka訊息未知
/usr/lib/spark-1.3.1-bin-hadoop2.4/bin/spark-submit --class com.XXX --jars xxx.jar --master spark://hdp5:7077 --conf spark.ui.port=4042 --executor-memory 1G --total-executor-cores 3 yyy.jar
(三個作業都按上述命令分別在三臺機器上運行)
查看hdp5:8080

standalone我感覺是不是還是資源不夠導致,因為一個輸入dstream會占用一個核,可是感覺的核數是夠的啊。
③部署模式為yarn-cluster,三個作業通過spark-submit跑起來后,只有一個作業是running狀態,其他兩個一直是accepted狀態?
uj5u.com熱心網友回復:
spark-default.conf
spark.serializer org.apache.spark.serializer.KryoSerializer
spark.driver.memory 768m
spark.executor.memory 2g
spark.streaming.unpersist true
spark.streaming.receiver.writeAheadLog.enable false
spark.local.dir /data1/data/spark,/data2/data/spark,/data3/data/spark
spark.default.parallelism 9
spark.shuffle.consolidateFiles true
spark.storage.memoryFraction 0.6
spark.driver.extraJavaOptions -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70
spark.executor.extraJavaOptions -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70
spark-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67
export SCALA_HOME=/usr/lib/scala-2.11.4
export SPARK_MASTER_IP=hdp5
#export SPARK_WORKER_MEMORY=768m
SPARK_WORKER_DIR=/data3/logs/spark
export HADOOP_CONF_DIR=/etc/alternatives/hadoop-conf
export SPARK_LIBRARY_PATH=$SPARK_LIBRARY_PATH:/usr/lib/hadoop/lib/native
uj5u.com熱心網友回復:
大家沒有多個spark streaming作業同時跑的場景嗎,怎么部署還這面費勁,暈死了uj5u.com熱心網友回復:
配置問題吧。你有沒有限定更改execotor的啟動個數。uj5u.com熱心網友回復:
第一個任務沒有指定 executor-coresuj5u.com熱心網友回復:
--total-executor-cores 3 是不是太少了?你總共12cores,全開唄轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/75858.html
標籤:Spark
上一篇:青云QingCloud全維賦能烏魯木齊衛健委 統一管控全市結核病影像
下一篇:5個規則,確保你的微服務優化運行
