Spark Streaming后台挂载运行&异常监控并重启

4 篇文章 0 订阅

后台挂载spark-streaming程序

我们在x-shell中通过yarn-client的方式提交spark-streaming程序时,会存在一个小问题:如果中断程序的运行或者将x-shell窗口关闭,spark-streaming程序也会中断。

为了解决这个问题,我们可以使用以下脚本命令命令:

nohup /opt/client/Spark2x/spark/bin/spark-submit --class com.xxx.project --master yarn --deploy-mode client --executor-memory=2g --executor-cores=4 --num-executors=2 --jars /xxx/fastjson-1.2.47.jar,/xxx/gson-2.4.jar /xxx/YourJar.jar 1>/xxx/task.log 2>&1 &

nohup就是讲spark-streaming挂载后台运行,然后将日志定向输出到**/xxx/task.log**

监控spark-streaming程序

首先,我们需要知道通过什么命令查看我们的程序是否正常运行:

yarn application -list

这个可以查看正在运行的spark程序列表,当然包括spark-streaming。

那么,我们的思路大概就是这样的:每隔一段时间,查看我们的spark-streaming是否在yarn正在运行列表(通过spark的AppName),如果不在则调用启动命令。

follow_status=$(yarn application -list| awk '{print $2}' | grep Follow_Collision_Streaming_ID_$i | wc -l)
if [ $follow_status == 0 ];
then
echo $follow_status
nohup /opt/client/Spark2x/spark/bin/spark-submit --class com.xxx.project --master yarn --deploy-mode client --executor-memory=2g --executor-cores=4 --num-executors=2 --jars /xxx/fastjson-1.2.47.jar,/xxx/gson-2.4.jar /xxx/YourJar.jar 1>/data/KnowledgeGraph/spark/Log/task.log 2>&1 &
fi

加入Linux定时任务

进入**/var/spool/,可以看到每个用户的定时任务列表,如root,直接vim root**

新增一行,填入以下内容:

*/1 * * * * sh /usr/local/spark.sh

*/1 * * * *是Linux crontab的定时格式:每分钟执行一次。有5个单位:分、时、天、月、周。例如第一个*/就表示每隔一分钟,第二个*表示匹配所有小时。
具体用法可以百度。

sh /usr/local/spark.sh其实就是执行你的sh脚本文件了。

欢迎关注同名公众号:“我就算饿死也不做程序员”。
交个朋友,一起交流,一起学习,一起进步。在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值