您的位置:首页 > 编程语言 > Python开发

在python中使用zookeeper管理你的应用集群

2012-03-11 15:30 423 查看
在python中使用zookeeper管理你的应用集群 | -猪之哀伤的Blog-

在python中使用zookeeper管理你的应用集群

Type: 技术相关 - Posted at: 2011/09/09 12:43Tags :
python
zookeeper简介:

Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。

具体简介可以参照这篇文章

zkpython的安装:

python中有一个zkpython的包,是基于zookeeper的c-client开发的,所以安装的时候需要先安装zookeeper的c客户端。安装步骤如下:

?
这样就完成了zkpython的安装。

一个简单的demo:

之后让我们来写一个简单的demo吧。(demo中用到的zkclient.py: https://github.com/piglei/zkpython_example/blob/master/zkclient.py

?
这个简单的demo所做的事情,就是通过在zookeeper的/app/workers节点下建立临时的子节点( flags=zookeeper.EPHEMERAL | zookeeper.SEQUENCE ),每次create完成之后检查自己是不是在最小的MASTERS_NUM(例子中为1,即单master)里。如果是的话,作为master运行,否则的话,作为slave运行。

这样的话,当我们的master挂掉以后,与zookeeper之间的连接也会中断,过了指定的TIMEOUT以后,master之前在worker下的子节点就会被删除,于是slave节点之前设置的watcher会被触发,再次检查自己是否为master,如果是的话则完成切换。

demo运行结果:

?
demo代码地址: https://github.com/piglei/zkpython_example

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐