jaytaylor.kafka

Ansible Kafka

构建状态 Galaxy

这是一个用于安装和配置 kafka 分布式发布/订阅消息队列集群的 Ansible 角色。

如何获取

将其添加到您的 playbook 的 requirements.yml 文件中:

- src: https://github.com/jaytaylor/ansible-kafka

然后运行:

ansible-galaxy install -r requirements.yml --ignore-errors

或者如果您只想下载这个角色并开始使用:

cd my-playbook-folder/roles
git clone https://github.com/jaytaylor/ansible-kafka.git
cd -

如何使用

角色安装完成后,从您的 playbook 文件(例如 playbook.yml)中进行配置。

示例:

    ---
    - hosts: [all]
      roles:
        - {
          role: "ansible-kafka",
          kafka_hosts: "{{ groups.kafka | list }}",
          kafka_zookeeper_hosts: "{{ zookeeper_hosts | list }}"
          kafka_version: 0.11.0.2,     # Kafka 版本覆盖。
          kafka_scala_serverion: 2.10 # Scala 版本覆盖。
        }

其中 kafka_hostszookeeper_hosts 是定义的变量(例如在 group_vars/all 中),包含要使用的主机列表。

重要提示

如果您是通过 ansible-galaxy 网站使用这个角色,请确保使用“jaytaylor.kafka”作为角色名(而不是“ansible-kafka”)。

角色变量

  • kafka_hosts - 集群中的主机列表。
  • kafka_zookeeper_hosts - 集群中的 Zookeeper 主机列表。
  • kafka_broker_id - 唯一标识代理的整数,默认情况下将为您生成一个,适用于版本 >= 0.9。
  • kafka_generate_broker_id - 控制是否生成代理 ID 的标志,默认为 yes
  • kafka_server_defaults - 默认 Kafka 服务器设置。这个变量通常不需要更改。
  • kafka_producer_defaults - 默认 Kafka 生产者设置。这个变量通常不需要更改。
  • kafka_server - 允许覆盖特定的默认服务器设置(来自 kafka_server_defaults 变量)。此哈希中的值将与 kafka_server_defaults 变量组合。
  • kafka_producer - 允许覆盖特定的默认生产者设置(来自 kafka_producer_defaults 变量)。此哈希中的值将与 kafka_server_defaults 变量组合。
  • kafka_healthcheck_address - 如果未定义,则动态设置为 kafka_server_defaults.host_namekafka_server.host_name(如果已定义)。默认值为 '127.0.0.1'。
  • kafka_java_version - 要安装的 Java 版本。默认值为 "openjdk-7-jre-headless"。

版本说明

版本 2.0.0 不支持低于 2.2 的 Ansible 版本。

在 2.0.0 版本之前,serverproducer Ansible 变量用于分别配置 Kafka 服务器和 Kafka 生产者,但 2.0.0 引入了更好的变量范围和更好的变量覆盖:

  • server 变量变为 kafka_server,现在位于 Kafka 角色的“范围”内。它是一个哈希,和 kafka_server_defaults 哈希组合,覆盖前者定义的值。这使得覆盖特定设置变得更容易,而不是为了改变一个设置而重写整个 server 变量哈希。
  • producer 变量变为 kafka_producer,现在的行为与 kafka_server 变量相同。同时 kafka_producer_defaults 哈希包含生产者的默认值。

此外:

  • healthcheck_address 变为 kafka_healthcheck_address,提高了其范围。
  • nofiles_limit 变为 kafka_nofiles_limit

许可证

BSD

作者

Jay Taylor

@jtaylor - jaytaylor.com - github

关于项目

An Ansible role for installing and configuring a kafka cluster.

安装
ansible-galaxy install jaytaylor.kafka
许可证
other
下载
495
拥有者