Implement install_kafka role

This commit is contained in:
ionutboangiu
2023-05-15 20:27:27 +03:00
committed by Dan Christian Bogos
parent 995199e634
commit f523cb444a
4 changed files with 76 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
---
kafka_version: 3.4.0
scala_version: 2.13
kafka_service_state: started
kafka_service_enabled: true

View File

@@ -0,0 +1,44 @@
---
- name: Install Java
become: yes
apt:
name: default-jdk
state: present
update_cache: yes
- name: Download Apache Kafka
get_url:
url: "https://dlcdn.apache.org/kafka/{{ kafka_version }}/kafka_{{ scala_version }}-{{ kafka_version }}.tgz"
dest: "/tmp/kafka_{{ scala_version }}-{{ kafka_version }}.tgz"
mode: '0755'
- name: Extract Apache Kafka
become: yes
unarchive:
src: "/tmp/kafka_{{ scala_version }}-{{ kafka_version }}.tgz"
dest: "/usr/local"
remote_src: yes
creates: "/usr/local/kafka_{{ scala_version }}-{{ kafka_version }}"
- name: Ensure Kafka and Zookeeper services are created
become: yes
template:
src: "{{ item.service_file }}"
dest: "/etc/systemd/system/{{ item.service_name }}"
owner: root
group: root
mode: '0644'
loop:
- { service_file: 'zookeeper.service.j2', service_name: 'zookeeper.service' }
- { service_file: 'kafka.service.j2', service_name: 'kafka.service' }
- name: Enable Kafka and Zookeeper services
become: yes
systemd:
name: "{{ item }}"
state: "{{ kafka_service_state }}"
enabled: "{{ kafka_service_enabled }}"
daemon_reload: yes
loop:
- zookeeper
- kafka

View File

@@ -0,0 +1,13 @@
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/local/kafka_{{ scala_version }}-{{ kafka_version }}/bin/kafka-server-start.sh /usr/local/kafka_{{ scala_version }}-{{ kafka_version }}/config/server.properties
ExecStop=/usr/local/kafka_{{ scala_version }}-{{ kafka_version }}/bin/kafka-server-stop.sh
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,14 @@
[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
ExecStart=/usr/local/kafka_{{ scala_version }}-{{ kafka_version }}/bin/zookeeper-server-start.sh /usr/local/kafka_{{ scala_version }}-{{ kafka_version }}/config/zookeeper.properties
ExecStop=/usr/local/kafka_{{ scala_version }}-{{ kafka_version }}/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target