基于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第三方库


热门话题
orm如何在Java中实现规范化映射?   java以编程方式修改Xtext生成的Mwe2工作流   java正在覆盖外部文件中的现有数据,如何停止?   java在ANTLR BNF语法符号中epsilon的等价物是什么?   java如何使用Hibernate@Anyrelated注释?   代码生成生成java类并在运行时加载它   java Maven无法在本地jar文件中收集依赖项   java NetBeans IDE 8.2不显示错误消息   java Selenium web驱动程序找不到元素   java如何修复“拒绝访问属性”invoke“”的权限?   JavaApacheJClouds,从比日期更早的blob中删除blob的最佳方法   java如何比较和排序树集中的项目?   使用JavaSpring和无头/解耦CMS   java使用swagercodegen在不同的类中生成端点   Java外部Keylistener没有响应