![](/img/trans.png)
[英]NoSuchMethodError occurs when run spark-streaming job on kafka
[英]How to run Spark-Streaming job as a daemon
在使用日志輪換記錄日志文件中發生的任何異常的同時,守護 Spark-Streaming 作業的最佳方法是什么?
這是運行 2 個守護線程的方法,根據您的要求它可以增加..
nohup ./mysparkstreamingjob.sh one> ../../logs/nohup.out 2> ../../logs/nohup.err < /dev/null &
nohup ./mysparkstreamingjob.sh two> ../../logs/nohup.out 2> ../../logs/nohup.err < /dev/null &
mysparkstreamingjob.sh 看起來像
#!/bin/sh
echo $CLASSPATH
spark-submit --verbose --jars $(echo /dirofjars/*.jar | tr ' ' ','),$SPARK_STREAMING_JAR --class com.xx.xx.StreamingJob \
--master yarn-client \
--num-executors 12 \
--executor-cores 4 \
--driver-memory 4G \
--executor-memory 4G \
--driver-class-path ../../config/properties/* \
--conf "spark.driver.extraJavaOptions=-XX:PermSize=256M -XX:MaxPermSize=512M" \
--conf "spark.shuffle.memoryFraction=0.5" \
--conf "spark.storage.memoryFraction=0.75" \
--conf "spark.storage.unrollFraction=0.2" \
--conf "spark.memory.fraction=0.75" \
--conf "spark.worker.cleanup.enabled=true" \
--conf "spark.worker.cleanup.interval=14400" \
--conf "spark.shuffle.io.numConnectionsPerPeer=5" \
--conf "spark.eventlog.enabled=true" \
--conf "spark.driver.extraLibrayPath=$HADOOP_HOME/*:$HBASE_HOME/*:$HADOOP_HOME/lib/*:$HBASE_HOME/lib/htrace-core-3.1.0-incubating.jar:$HDFS_PATH/*:$SOLR_HOME/*:$SOLR_HOME/lib/*" \
--conf "spark.executor.extraLibraryPath=$HADOOP_HOME/*:$HBASE_HOME/*:$HADOOP_HOME/lib/*:$HBASE_HOME/lib/htrace-core-3.1.0-incubating.jar:$HDFS_PATH/*:$SOLR_HOME/*:$SOLR_HOME/lib/*" \
--conf "spark.executor.extraClassPath=$(echo /dirofjars/*.jar | tr ' ' ',')" \
--conf "spark.yarn.executor.memoryOverhead=2048" \
--conf "spark.yarn.driver.memoryOverhead=1024" \
--conf "spark.eventLog.overwrite=true" \
--conf "spark.shuffle.consolidateFiles=true" \
--conf "spark.akka.frameSize=1024" \
--files xxxx.properties, xxxx.properties \
-DprocMySpark$1
您需要配置文件的自定義 log4j 輪換並將該設置傳遞給您的 spark 提交。 基於您使用的 appender,它將以自然的方式與 java + log4j 工作。
例如 :
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=/tmp/log4j.properties"
此外,spark webui url(默認情況下)具有所有日志高級別和低級別
您應該使用 oozie 來安排您的 Spark 流作業。 https://oozie.apache.org/docs/4.2.0/DG_SparkActionExtension.html
這將為您提供有關調度、管理和監控 Spark 作業的良好概述。 http://blog.cloudera.com/blog/2014/02/new-hue-demos-spark-ui-job-browser-oozie-scheduling-and-yarn-support/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.