打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一个同步zookeeper节点的python脚本
#!/usr/bin/env python
#coding=utf-8
import logging
logging.basicConfig()
from kazoo.client import KazooClient
def diff_zk_child(src_host, dst_host):
zk_src=KazooClient(hosts=src_host)
zk_src.start()
zk_dst=KazooClient(hosts=dst_host)
zk_dst.start()
zk_src_child=zk_src.get_children('/app_config/flume_agent/nodes')
zk_dst_child=zk_dst.get_children('/app_config/flume_agent/nodes')
#zk_src have but zk_dst not
add_nodes=list(set(zk_src_child).difference(set(zk_dst_child)))
delete_nodes=list(set(zk_dst_child).difference(set(zk_src_child)))
print "add:"
for node in add_nodes:
print node
if not zk_dst.exists('/app_config/flume_agent/nodes/'+str(node)):
zk_dst.create('/app_config/flume_agent/nodes/'+str(node), b'node rsync')
print "delete:"
for node in delete_nodes:
print node
if zk_dst.exists('/app_config/flume_agent/nodes/'+str(node)):
zk_dst.delete('/app_config/flume_agent/nodes/'+str(node))
zk_src_child=zk_src.get_children('/app_config/flume_agent/nodes')
zk_dst_child=zk_dst.get_children('/app_config/flume_agent/nodes')
if __name__ == "__main__":
diff_zk_child('zk.prod.oa.com:2181', 'zk.mm.oa.com:2181')
这里没用zookeeper自带的python客户端,而是用的kazoo,没有依赖。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
k8s笔记011-statefulset部署(以zookeeper集群为例)
[Hadoop] Zookeeper伪分布式集群部署
渐进式入门教程 | Taro 文档
flume
ZooKeeper(转载) - 疯子的遐想 - JavaEye技术网站
基于Hadoop生态SparkStreaming的大数据实时流处理平台的搭建
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服