SparkStreaming部分:SparkStreaming+kafka 的receive模式(文字说明+图片)

本文详细介绍了SparkStreaming使用Receiver模式从Kafka读取数据的过程,讨论了默认存储级别、数据丢失问题以及Write Ahead Log (WAL)机制。提到了开启WAL虽能防止数据丢失但会增加延迟。还探讨了Receiver模式的并行度调整策略,以及如何通过设置`spark.streaming.blockInterval`来影响RDD的并行度。
摘要由CSDN通过智能技术生成

Sparkstreaming+kafka的Receiver模式读取数据:

默认读取数据的存储级别是:MEMORY_AND_DISK_SER_2采用了receiver接收器的模式,需要一个task一直处于接受数据的状态,sparkstreaming相当于kafka的消费者,接收来的数据被分到其他节点上,完成之后,会向zookeeper更新消费者的offset。

当更新完消费者的偏移量之后,如果Driver挂掉,Driver下的Executor也会挂掉,就会有数据丢失的问题。

怎么解决;

开启WAL机制,Write Ahead Log:预写日志的机制,将数据备份到hdfs中一份,完成之后,向zookeeper中更新offset,汇报位置,发送task处理数据,开启WAL机制后,可以对接受数据的存储级别降级,(去掉_2),开启WAL会带来新的问题,处理数据效率慢,延迟大。

不仅被分到zookeeper 中,还要备份到hdfs中,向hdfs中备份一条数据

如果Driver再次挂掉了,不会向executor要,而是向hdfs,

Receiver采用的是高级模式

存在丢数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值