Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7094249
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: 系统运维

2014-06-14 20:25:51

因zk的写性能不高,为了不让监控上报类的服务影响现网服务,我们把zk集群分离开。而有个上报接入agent需要在两个不同zk集群中注册节点,框架只支持一个zk集群,修改还需下个版本。
临时写了个脚本完成节点同步:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. #coding=utf-8

  3. import logging
  4. logging.basicConfig()

  5. from kazoo.client import KazooClient
  6. def diff_zk_child(src_host, dst_host):
  7.     zk_src=KazooClient(hosts=src_host)
  8.     zk_src.start()
  9.     zk_dst=KazooClient(hosts=dst_host)
  10.     zk_dst.start()
  11.     zk_src_child=zk_src.get_children('/app_config/flume_agent/nodes')
  12.     zk_dst_child=zk_dst.get_children('/app_config/flume_agent/nodes')
  13.     #zk_src have but zk_dst not
  14.     add_nodes=list(set(zk_src_child).difference(set(zk_dst_child)))
  15.     delete_nodes=list(set(zk_dst_child).difference(set(zk_src_child)))
  16.     print "add:"
  17.     for node in add_nodes:
  18.         print node
  19.         if not zk_dst.exists('/app_config/flume_agent/nodes/'+str(node)):
  20.             zk_dst.create('/app_config/flume_agent/nodes/'+str(node), b'node rsync')
  21.     print "delete:"
  22.     for node in delete_nodes:
  23.         print node
  24.         if zk_dst.exists('/app_config/flume_agent/nodes/'+str(node)):
  25.             zk_dst.delete('/app_config/flume_agent/nodes/'+str(node))
  26.     zk_src_child=zk_src.get_children('/app_config/flume_agent/nodes')
  27.     zk_dst_child=zk_dst.get_children('/app_config/flume_agent/nodes')


  28. if __name__ == "__main__":
  29.     diff_zk_child('zk.prod.oa.com:2181', 'zk.mm.oa.com:2181')
这里没用zookeeper自带的python客户端,而是用的kazoo,没有依赖。
阅读(762) | 评论(0) | 转发(0) |
0

上一篇:lvs+keepalived

下一篇:ZFS 阶段小结

给主人留下些什么吧!~~