nl2go.zookeeper
Ansible角色:ZooKeeper
这是一个管理Apache ZooKeeper安装和配置的Ansible角色。
角色变量
以下是可用变量及其默认值(请参见defaults/main.yml
):
zookeeper_version: 3.6.2
ZooKeeper应用程序版本。
zookeeper_dir: /opt/zookeeper
应用程序文件目录。
zookeeper_data_dir: /var/zookeeper
服务器数据目录。
zookeeper_conf_dir: /etc/zookeeper
服务器配置目录。
zookeeper_log_dir: /var/log/zookeeper
服务器日志目录。
zookeeper_log_file: zookeeper.log
日志文件名称。
zookeeper_log_level: INFO
日志记录级别。
zookeeper_log_max_file_size: 265MB
旋转前的最大日志文件大小。
zookeeper_log_max_backup_index: 20
要保留的最大日志文件数量。
zookeeper_client_port: 2181
客户端可以连接的端口。
zookeeper_init_limit: 5
zookeeper_sync_limit: 2
zookeeper_tick_time: 2000
有关详细信息,请查阅正式的ZooKeeper文档。
zookeeper_members: "{{ groups['all'] | map('extract', hostvars, 'ansible_default_ipv4') | map(attribute='address') | list }}"
ZooKeeper集群成员。接受主机名、完全限定域名或IP列表。
zookeeper_member_id: "{{ ansible_default_ipv4.address }}"
当前集群成员的ID(成员主机名、完全限定域名或IP在zookeeper_members
列表中的索引)。
zookeeper_server_username: foo
zookeeper_server_password: foz
基于SASL的集群成员通信认证。
zookeeper_clients:
- username: bar
password: baz
基于SASL的客户端认证。
zookeeper_jmx_host: 127.0.0.1
JMX将暴露的主机名/IP。
zookeeper_jmx_port: 9181
JMX远程代理端口。
zookeeper_jmx_rmi_port: 9182
RMI连接器端口。
zookeeper_jmx_username: foz
JMX用户名。
zookeeper_jmx_password: baz
JMX用户密码。
zookeeper_jmx_role: readonly
JMX用户角色。
zookeeper_4lw_commands_whitelist: srvr,stat,mntr
ZooKeeper 4lw命令的白名单。
zookeeper_global_outstanding_limit: 1000
有关更多信息,请参阅ZooKeeper管理员指南。
zookeeper_prealloc_size: 64M
有关更多信息,请参阅ZooKeeper管理员指南。
zookeeper_snap_count: 100000
有关更多信息,请参阅ZooKeeper管理员指南。
zookeeper_max_client_cnxns: 10
有关更多信息,请参阅ZooKeeper管理员指南。
zookeeper_min_session_timeout: "{{ 2 * zookeeper_tick_time }}"
有关更多信息,请参阅ZooKeeper管理员指南。
zookeeper_max_session_timeout: "{{ 20 * zookeeper_tick_time }}"
有关更多信息,请参阅ZooKeeper管理员指南。
zookeeper_autopurge_snapretain_count: 10
有关更多信息,请参阅Clickhouse对ZooKeeper的使用建议。
zookeeper_purge_interval: 1
有关更多信息,请参阅Clickhouse对ZooKeeper的使用建议。
zookeeper_fsync_warning_threshold_ms: 1000
有关更多信息,请参阅ZooKeeper管理员指南。
zookeeper_heap_size: 1024
JVM堆大小(以MB为单位)。
依赖
示例剧本
- hosts: all
roles:
- nl2go.zookeeper
开发
使用 docker-molecule,按照说明运行 Molecule
或在本地安装 Molecule(不推荐,因为可能会出现版本冲突)。
提供Hetzner Cloud令牌:
export HCLOUD_TOKEN=123abc456efg
使用以下命令运行测试:
molecule test --all
维护者
许可证
有关详细信息,请参阅LICENSE.md文件。
作者信息
此角色由Newsletter2Go GmbH于2020年创建。