没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
12页
该文档为原创模拟项目:共有6个系列。分别为1、storm项目-流数据监控系列1《设计文档》2、storm项目-流数据监控系列2《代码解析》 3、storm项目-流数据监控系列3《实例运行》4、storm项目-流数据监控系列4《MetaQ接口》5、storm项目-流数据监控系列5《zookeeper统一配置》 6、storm项目-流数据监控系列6《最新代码树及详解》。希望能对大家有所帮助
资源推荐
资源详情
资源评论
酷抉网专注于技术之外的讨论——美女,让大家工作之余能够轻松一刻--http://www.cooje.com/
Storm 项目:流数据监控 <5>
---Zookeeper 统一配置
作者:酷抉网
时间:2014/11/22
文档摘要:
该文档为 monitorTopology 数据流监控模拟工程的节点配置实现部分,该文档阐述了使用
zookeeper 实现 storm 架构统一配置相关设计及实现。
相关描述:
关注酷抉小生的个人网站:http://www.cooje.com/
PDF 文档获取:百度网盘 http://pan.baidu.com/s/1hqePCqw
PDF 文档及相关资料下载请到百度搜索
欢迎加入 storm-分布式-IT 技术交流群(191321336,群中有详细的资料),一起讨论技
术,一起分享代码,一起分享设计;
目录
酷抉网专注于技术之外的讨论——美女,让大家工作之余能够轻松一刻--http://www.cooje.com/
1
Storm 项目:流数据监控 <5>
..........................................................................................................
1
1 文档说明
.........................................................................................................................................
1
2 Zookeeper 统一配置
........................................................................................................................
1
2.1 设计统一配置因素
.............................................................................................................
1
2.2 配置系统技术选型
.............................................................................................................
1
2.3 统一配置设计方案
.............................................................................................................
2
2.4 代码参考
..............................................................................................................................
2
2.4.1 storm.conf.OptZookeeper.java
...................................................................................
3
2.4.2 storm.conf.GetTopConf.java
.......................................................................................
6
2.4.3 storm.conf.PutConf.java
.............................................................................................
6
2.4.4 storm.conf.GetConf.java
.............................................................................................
8
3 Zookeeper 相关 API
.......................................................................................................................
10
4 项目拓展
.......................................................................................................................................
10
1 文档说明
好久没更新 storm 相关的文章了(快一个月了),很早以前就有朋友提出过 storm 的拓扑任
酷抉网专注于技术之外的讨论——美女,让大家工作之余能够轻松一刻--http://www.cooje.com/
2
务会出现 supervisor 各节点配置麻烦的问题,基于此,我很早就考虑如何解决这个问题,直
到现在才把这个问题解决(工作小忙)。
使用 zookeeper 进行设计 storm 拓扑的配置系统,设计思路大家可以参考参考,代码部分就
有点次了(时间太匆忙了,白天上班,大半夜写代码,写文章不容易啊),大家能看得下去
就看吧,不过优化优化改改还是能用的。
好了,不多说了,喜欢的朋友,可以博客加个关注,会时常更新点东西,有兴趣一起交流的
朋友,加入到 191321336 的技术群中,一起讨论交流~~~
特别声明:转载请注明酷抉小生的个人网站哦:http://www.cooje.com/,谢谢大家支持!
2 Zookeeper 统一配置
2.1
设计统一配置因素
在 storm 的拓扑任务中,采用常规的节点配置从配置文件(conf)中直接读取,会出现以下
几个问题:
(1) 节点太多,配置文件需要配置的节点太多,太繁琐;
(2) 配置需要修改时,很难保证各个节点的配置文件统一;
(3) 无法定位各个功能节点位置,每个节点需要所有配置文件,导致每个节点配置臃肿;
(4) 配置文件太分散,动态更新不现实。
以上几个主要原因导致了,采用传统的直接读取配置文件获取配置信息的方式不适合类似这
种集群应用,必然需要设计一个能够进行统一配置的组件或者是系统。
2.2
配置系统技术选型
想要实现集群配置文件的统一配置,必然不能将配置文件放在各个分散的节点上,考虑的思
路是放在一个节点上,然后让该节点读取,其他节点从该节点获取,这样就保证了配置文件
统一性(只此一份)。可以考虑以下几种设计思路:
(1) 在 storm 的拓扑主类(Topology)中使用 Config conf = new Config();进行参数传递,及在
主类中读取配置文件中的所有配置,然后通过 Config 类传递给相应节点。这种方式,笔者
曾经尝试过,确实能解决配置文件统一问题,只需 nimbus 节点读取配置即可,但是,这种
方式在配置文件很多时,会导致主类 Topology 相当臃肿,相当麻烦,并且相应节点获取参
数时也相当麻烦。
(2) 考虑使用 mysql。在 nimbus 中,读取配置文件,然后将配置信息按一定规则存放到一个
所有节点都能访问的 mysql 服务器中。该 mysql 服务器专门用来保存集群的配置文件,所有
节点都上该 mysql 服务器中读取配置信息,这种方式能够解决配置统一的问题,并且也不少
集群应用是这么干的。但这种方式有不少的缺点,首先是需要部署一个专门的 mysql 服务器,
这是额外的代价,如果部署到其中一个节点中倒是可以,但也会影响性能,并且 mysql 并没
有对配置信息变更有效的监控措施,并且存在单点问题,安全性,实用性都不太高。
(3) 还有就是使用 zookeeper 来实现了。Zookeeper 的其中有个功能有点类似向 zookeeper 集
群中提供公共文件夹(官方语言称其为“节点”)。能够访问 zk 服务器的服务器都能够对其
公共节点进行访问。利用该机制,我们就可以使用 zk 设计统一配置系统了。Nimbus 以客户
端的身份向 zk 服务器申请公共节点,并在公共节点上存储配置信息,其他节点需要获取配
置文件时,以客户端的身份从 zk 服务器中获取公共节点的相关值,这样就实现了统一配置。
实用 zk 进行统一配置有如下好处:storm 集群中已经有 zk,不需要额外部署;zk 无单点故
剩余11页未读,继续阅读
资源评论
- xiaohui8866882019-08-07好资源,谢谢分享。
酷抉网
- 粉丝: 3
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功