opstree_devops.kafka_cluster
OSM:Kafka
一个高端Ansible角色,用于设置Kafka和Zookeeper集群。
需求
这个角色唯一的要求是Java。
你可以在这里找到我们的Java角色 这里。
角色变量
必填变量
变量 | 默认值 | 可能值 | 描述 |
---|---|---|---|
zookeeper_data_dir | /opt/zookeeper |
任何Linux目录 | Zookeeper存储信息的数据目录 |
installation_dir | /opt |
任何Linux目录 | 你想要安装Kafka的目录 |
kafka_major_version | 2.12 |
任何有效的Kafka版本 | Kafka发布的主要版本 |
kafka_minor_verion | 2.2.1 |
任何有效的Kafka版本 | Kafka发布的次要版本 |
可选变量
变量 | 默认值 | 可能值 | 描述 |
---|---|---|---|
kafka_service_user_name | kafka |
Kafka的服务用户名 | Kafka的系统用户名,所有操作将以此用户运行 |
kafka_service_group_name | kafka |
Kafka的服务组名 | Kafka的系统组名,所有操作将以此组运行 |
kafka_logs_dir | /var/log/kafka |
任何Linux目录 | Kafka生成日志的目录 |
zk_client_port | 2181 |
任何Linux端口号 | Zookeeper客户端连接的端口 |
init_limit | 5 |
任何整数时间 | initLimit是Zookeeper用于限制在众多服务器中连接到领导者所用的时间 |
sync_limit | 2 |
任何整数时间 | entry syncLimit限制了服务器与领导者的更新延迟 |
tick_time | 2000 |
任何整数时间 | Zookeeper使用的基本时间单位(毫秒),用于心跳,其最低会话超时为tickTime的两倍 |
max_memory_heap | -Xmx256M |
JVM内存大小 | Kafka的最大堆大小,应根据服务器配置进行更改 |
min_memory_heap | -Xmx128M |
JVM内存大小 | Kafka的最小堆大小,应根据服务器配置进行更改 |
清单
清单应如下所示:
[zookeeper] # Zookeeper的主机和ID信息
zookeeper1 zookeeper_id=1
zookeeper2 zookeeper_id=2
zookeeper3 zookeeper_id=3
[kafka] # Kafka的主机和代理ID信息
kafka1 kafka_broker_id=1
kafka2 kafka_broker_id=2
kafka3 kafka_broker_id=3
[kafka_cluster:children] # Kafka和Zookeeper组的父组
zookeeper
kafka
[kafka_cluster:vars] # kafka_cluster父组的变量
ansible_user=ubuntu
示例剧本
以下是示例剧本:
---
- hosts: kafka_cluster
roles:
- role: osm_kafka_cluster
become: yes
使用
使用此角色只需执行剧本:
ansible-playbook -i hosts site.yml
运行设置的测试用例
要运行测试用例,我们有一个单独的文件夹名为 inspec。如果你想运行测试用例,应该安装Inspec(https://www.inspec.io/)。
需要运行的命令:
inspec exec . -t ssh://username@server_ip -i /path/to/keyfile