This Ansible role installs Apache Kafka in a Debian Environment. The server is installed using the sources.
These instructions will get you a copy of the role for your Ansible Playbook. Once launched, it will install a Apache Kafka distributed streaming platform in a Debian Environment.
Ansible 2.7.5.0 Python 3.6 or Python 2.7 Other combinations may work but they're not tested.
Inventory destination should be a Debian environment. Notice that you will need to install Java in that environment after execute this role.
- Pipenv
- >= Python 2.7 (See test-requirements-27 and test-requirements-36)
- Docker as driver
We strongly do not recommend to use containers in production based on that image (maybe it will be ready in future releases).
Create or add to your roles dependency file (e.g requirements.yml):
- src: http://github.com/idealista/kafka_role.git
scm: git
version: 1.13.0
name: kafka
Install the role with ansible-galaxy command:
ansible-galaxy install -p roles -r requirements.yml -f
Use in a playbook:
---
- hosts: someserver
roles:
- role: kafka
Look to the defaults properties file to see the possible configuration properties.
Kafka topics could be configured through the role. Just set the topics like:
kafka_topics:
- name: 'test'
partitions: '3'
replicas: '3'
- name: 'test2'
partitions: '3'
replicas: '1'
Enable delete topic var if you want to remove topics from the cluster.
The number of partitions can be modified but not the replicas. Please have this in mind when create the topics.
Also notice that you can't decrease the number of partitions of a created topic.
pipenv install -r test-requirements-27.txt --python 2.7
pipenv run molecule test
and
pipenv install -r test-requirements-36.txt --python 3.6
pipenv run molecule test
For the versions available, see the tags on this repository.
Additionaly you can see what change in each version in the CHANGELOG.md file.
- Idealista - Work with - idealista
See also the list of contributors who participated in this project.
This project is licensed under the Apache 2.0 license - see the LICENSE file for details.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.