opstree_devops.kafka_cluster

符合CiS标准 Apache许可证 GitHub发布(最新日期)

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

作者

Abhishek Dubey

关于项目

Ansible role for setting up the kafka cluster with zookeeper

安装
ansible-galaxy install opstree_devops.kafka_cluster
许可证
Unknown
下载
158
拥有者