将 Spark Streaming + Kafka direct 的 offset 保存进入Zookeeper(二)
来源:互联网 发布:microsoft办公软件 编辑:程序博客网 时间:2024/05/23 00:09
在上一遍《“Spark Streaming + Kafka direct + checkpoints + 代码改变” 引发的问题》中说到,当时是将 topic 的 partition 的 offset 保存到了 MySQL 数据库中,其存在一个问题,就是无法在现有的监控工具中进行体现(如:Kafka Manager)。那我们现在就来将此offset保存到zookeeper中,从而使用监控工具发挥其效果。
一、Kafka Zookeeper 结构
首先,我们来看一下,Kafka在Zookeeper中的结构树,如图(说明:图片来源于网络):
此处,我们主要关心的是 /consumers/[groupId]/offsets/[topic]/[partitionId] -> long (offset) 这个路径,具体含义请看图片上的说明。
由此可见,我们只需要在原来保存到数据库中的内容现在写入到如上路径中即可。
二、具体实现
1、程序实现,如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
2、准备测试环境,并记录目前consumer中的信息,如下图:
从截图中可以看出,目前 kafka_topic 这个 topic 中,所有的消息都已经被消息了。
说明:由于在写blog之前,我已经运行过代码了,所以可以直接看到数据,如果是第一次运行,则是看到不 spark-group 这个 group 的。
3、运行Spark Streaming 程序(注意:要先清空 checkpoint 目录下的内容),在程序运行的过程中查看 kafka monitor中关于 spark-group的变化情况:
第 n 次 Job 之后:
从图片上可以看出,已经起到作用了。
原文链接:http://blog.csdn.net/sun_qiangwei/article/details/52089795
- 将 Spark Streaming + Kafka direct 的 offset 保存进入Zookeeper(二)
- 将 Spark Streaming + Kafka direct 的 offset 保存进入Zookeeper
- Spark Streaming + Kafka direct 从Zookeeper中恢复offset
- Spark Streaming + Kafka direct 从Zookeeper中恢复offset(三)
- Spark Streaming 中使用kafka低级api+zookeeper 保存 offset 并重用 以及 相关代码整合
- Spark Streaming 中使用kafka低级api+zookeeper 保存 offset 并重用 以及 相关代码整合
- spark streaming 自定义kafka读取topic的offset(python)
- spark streaming 读取kafka的offset
- Spark Streaming基于kafka的Direct详解
- Spark Streaming基于kafka的Direct详解
- Spark Streaming createDirectStream保存kafka offset(JAVA实现)
- Spark Streaming 中使用 zookeeper 保存 offset 并重用
- Spark Streaming +Kafka 使用底层API直接读取Kafka的Partition数据,手动更新Offset到Zookeeper集群
- spark-streaming-[10]-Spark Streaming 中使用 zookeeper 保存 offset 并重用
- Spark streaming 跟踪kafka offset的问题研究
- Spark+Kafka的Direct方式将偏移量发送到Zookeeper的实现
- Spark+Kafka的Direct方式将偏移量发送到Zookeeper的实现
- Spark Streaming 实战(1)搭建kafka+zookeeper+spark streaming 的windows本地开发环境
- poj 3009
- Frafment 的show和hide
- 初见Spring之AOP编程
- Java基础——冒号标记代码块的作用
- 图像复原与重建
- 将 Spark Streaming + Kafka direct 的 offset 保存进入Zookeeper(二)
- Vijos 雷曼兔(csapc)
- 【算法】一种用于云计算的SPSO算法
- android killer连接夜神模拟器
- 文章标题
- C/C++学习笔记
- 作业五 二叉树II
- 【配置】使用nginx反向代理加密websocket (wss)
- win 8088端口被占用解决方式及延伸