立即注册 登录
About云-梭伦科技 返回首页

admin的个人空间 https://aboutyun.com/?1 [收藏] [复制] [分享] [RSS]

日志

Spark streaming如何停止不丢失数据

已有 1255 次阅读2019-6-19 15:18 |系统分类:Spark


如何优雅的停止Spark streaming,由于Spark streaming一直是运转的,但是有时候我们是需要停止Spark streaming,但是如果强行停止是可能丢失数据的,所以为了保证数据不丢失,停止的时候需要注意,不能使用kill -9,这样会丢数据的。
停止的方法很多种,这里给大家介绍下:
第一种:
spark.streaming.stopGracefullyOnShutdown为true
sparkConf.set("spark.streaming.stopGracefullyOnShutdown","true")//优雅的关闭
然后按照下面的步骤依次操作:

(1)通过Hadoop 8088页面找到运行的程序

(2)打开spark ui的监控页面

(3)打开executor的监控页面

(4)登录liunx找到驱动节点所在的机器ip以及运行的端口号

(5)然后执行一个封装好的命令

sudo ss -tanlp |  grep 5555 |awk '{print $6}'|awk  -F, '{print $2}' | sudo  xargs kill -15

第二种:上面第一种有的老铁运用的可能不好,所以觉得不管用,这里在提供一种方法。通过外部设置让系统感知,比如通过外部文件,或则外部端口发送关闭信息,内部系统检测到后,调用内部的ssc.stop(true, true),来停止Spark streaming。

(1)外部文件,这个文件可以存储到hdfs,zookeeper等任何地方。然后系统定时检测,如果没有文件正常运行,如果有文件则停止Spark streaming。

(2)外部端口,同样Spark streaming需要监听这个端口,端口发送停止的信号的时候,Spark Streaming调用ssc.stop(true, true),来停止Spark streaming。


来自:






路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条