基于python的apache zookeeper服务注册守护进程

zk_watcher的Python项目详细描述


zk_watcher是一个python脚本,用于处理与apache的注册 动物园管理员服务。

zk_watcher的目标是监视主机上的特定服务 并将该计算机注册为给定路径上该服务的提供者 动物园管理员服务。

一个简单的例子是通过运行服务来让zk_watcher监视apache httpd Apache2状态以固定间隔,并在给定时间向ZooKeeper注册 路径(例如/services/production/webserver)。只要命令返回 一个安全的退出代码(>0 < /cIT>), ZKWAVECHER >将向动物园管理员登记 服务器正在提供此特定服务。如果计算机的主机名 如果是web1.mydomain.com,则注册路径如下所示

/services/production/webservers/web1.mydomain.com:80

如果服务检查失败,主机将立即被取消- 从那条路注册的。

安装

要安装,请运行

python setup.py install

pip install zk_watcher

服务配置

要进行配置,请编辑'/etc/zk/config.cfg'文件。文件由部分组成 每个点都指向要监视和注册的特定服务 动物园管理员。提供了一个示例文件,但可以如下所示

[ssh]
cmd: /etc/init.d/sshd status
refresh: 60
service_port: 22
service_hostname: 123.234.123.123
zookeeper_path: /services/ssh
zookeeper_data: { "foo": "bar", "bah": "humbug" }

[apache]
cmd: /etc/init.d/apache status
refresh: 60
service_port: 22
zookeeper_path: /services/web
zookeeper_data: foo=bar, bah=humbug

身份验证

如果要创建digset身份验证令牌并将其用于 与zookeeper的客户端会话,可以将设置添加到配置文件中 像这样

[auth]
user: username
password: 123456

如果您这样做,请查看nd_service_注册表文档以了解如何 使用auth令牌,默认情况下设置哪些权限。

运行它

有关配置和运行时选项,请参阅“zk_watcher.rst”文件。

注意事项

现在您必须将此软件包安装为根目录,或者必须创建 提前/etc/zk目录并将其所有权更改为您的安装 用户名。setup.py为 配置文件,如果无法在该路径创建文件,则将失败。这个遗嘱 在下一个版本中修复。

参与此代码

代码贡献可以通过nextdoor gerrit code review系统完成。 为了做出贡献,您需要遵循以下说明:

Nextdoor Code Review System

将以下行放入~/.ssh/config::

Host review.opensource.nextdoor.com
Port 29418
User <YOUR USERNAME>

然后确认您可以连接到gerrit::

$ ssh review.opensource.nextdoor.com
****    Welcome to Gerrit Code Review    ****

Hi Matt Wise, you have successfully connected over SSH.

Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:

git clone ssh://<YOUR USERNAME>@review.opensource.nextdoor.com:29418/REPOSITORY_NAME.git

Connection to review.nextdoortest.com closed.

安装和配置git更改::

$ sudo easy_install pip
$ sudo pip install git-change

复制回购协议并设置挂钩:

$ git clone review.opensource.nextdoor.com:zkwatcher
$ cd zkwatcher
$ etc/configure-repository.sh

进行更改并提交:

$ touch MyFile
$ git add MyFile
$ git change create

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
缺少java MIMessage附件   java试图从JSON数组向数据库插入数据   铸造java。util。ArrayList无法转换为java。util。矢量   在到达末尾后从头开始读取csv文件(Java、OpenCSV)   Java swing如何在另一个线程中打开框架   java如何为集合正确编写此比较器。排序(arrayList、comparator)?   JavaOOD将配置传递给外部类的最佳方式   java不确定如何使用switch语句从main()调用要运行的方法   java循环菜单以在选择后显示   java将位置对象转换为地址(谷歌地图)   java Hazel cast客户端端口问题   使用JarJar重新打包工具的java   使用Java Netscape目录LDAP API和二进制筛选器值   java如何从Google App Engine下载应用程序源文件   java如何居中javafx场景图“摄影机”   java调用servlet而不提交并停留在同一个JSP页面中   将文本文件加载到HashMap<Integer,List<String>>java中   JavaFX平台。重新加载站点后运行更高版本()