mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-21 23:28:44 +05:00
Implement install_kafka role
This commit is contained in:
committed by
Dan Christian Bogos
parent
995199e634
commit
f523cb444a
5
data/ansible/roles/install_kafka/defaults/main.yaml
Normal file
5
data/ansible/roles/install_kafka/defaults/main.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
kafka_version: 3.4.0
|
||||
scala_version: 2.13
|
||||
kafka_service_state: started
|
||||
kafka_service_enabled: true
|
||||
44
data/ansible/roles/install_kafka/tasks/main.yaml
Normal file
44
data/ansible/roles/install_kafka/tasks/main.yaml
Normal 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
|
||||
13
data/ansible/roles/install_kafka/templates/kafka.service.j2
Normal file
13
data/ansible/roles/install_kafka/templates/kafka.service.j2
Normal 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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user