Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- # tasks file for kafka
- - name: CREATE {{ container_name }} GROUP
- ansible.builtin.group:
- name: "{{ kafka_group }}"
- state: present
- system: yes
- when: kafka_create_user_group | bool
- - name: ALLOW '{{ kafka_group }}' GROUP TO HAVE PASSWORDLESS SUDO
- lineinfile:
- dest: /etc/sudoers
- state: present
- regexp: '^%{{ kafka_group }}'
- line: '%{{ kafka_group }} ALL=(ALL) NOPASSWD: ALL'
- validate: 'visudo -cf %s'
- - name: CREATE {{ container_name }} USER
- user:
- name: '{{ kafka_user }}'
- group: '{{ kafka_group }}'
- password: "{{ kafka_user_password | password_hash('sha512') }}"
- state: present
- create_home: yes
- system: yes
- shell: /bin/bash
- when: kafka_create_user_group | bool
- - name: UPDATE APT ON ALL DEBIAN/UBUNTU BOXES
- ansible.builtin.apt:
- name: "*"
- state: latest
- - name: UPGRADE ALL PACKAGES ON SERVERS
- ansible.builtin.apt:
- upgrade: dist
- force_apt_get: yes
- - name: INSTALL REQUIRED PACKAGES gnupg gcc cmake g++ default-jre unzip tar zstd
- ansible.builtin.apt:
- name:
- - gnupg
- - gcc
- - g++
- - cmake
- - default-jre
- - unzip
- - tar
- - zstd
- state: latest
- - name: DOWNLOAD https://dlcdn.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz
- ansible.builtin.get_url:
- url: https://dlcdn.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz
- dest: '/home/{{ kafka_user }}/kafka_2.13-3.3.1.tgz'
- mode: '770'
- - name: EXTRACT /home/{{ kafka_user }}/kafka_2.13-3.3.1.tgz INTO /home/{{ kafka_user }}
- ansible.builtin.unarchive:
- src: '/home/{{ kafka_user }}/kafka_2.13-3.3.1.tgz'
- dest: '/home/{{ kafka_user }}'
- remote_src: yes
- - name: CREATE A INSTALL DIRECTORY FOR KAFKA IF IT DOES NOT EXIST
- ansible.builtin.file:
- path: "/home/{{ kafka_user }}/installed/"
- state: directory
- mode: '0755'
- - name: CREATE A LOG DIRECTORY FOR KAFKA IF IT DOES NOT EXIST
- ansible.builtin.file:
- path: "/var/log/kafka/"
- state: directory
- mode: '0755'
- - name: INSTALL KAFKA_2.13-3.3.1
- ansible.builtin.copy:
- src: "/home/{{ kafka_user }}/kafka_2.13-3.3.1"
- dest: "/home/{{ kafka_user }}/installed"
- follow: yes
- remote_src: yes
- - name: GENERATE A NEW ID
- command: "/home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/bin/kafka-storage.sh random-uuid"
- register: generate
- - debug: msg="{{ generate.stdout }}"
- - name: "COPY A 'server1.properties' FILE ON THE REMOTE MACHINE {{ ansible_host }} FOR KAFKA KRAFT"
- ansible.builtin.copy:
- src: server1.properties
- dest: /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties
- when: "ansible_default_ipv4.address == '10.60.212.200'"
- - name: SET A HOSTNAME
- ansible.builtin.hostname:
- name: kafka-node-1
- when: "ansible_default_ipv4.address == '10.60.212.200'"
- - name: COPY A "server2.properties" FILE ON THE REMOTE MACHINE {{ ansible_host}} FOR KAFKA KRAFT
- ansible.builtin.copy:
- src: server2.properties
- dest: /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties
- when: "ansible_default_ipv4.address == '10.60.212.241'"
- - name: SET A HOSTNAME
- ansible.builtin.hostname:
- name: kafka-node-2
- when: "ansible_default_ipv4.address == '10.60.212.241'"
- - name: COPY A "server3.properties" FILE ON THE REMOTE MACHINE {{ ansible_host}} FOR KAFKA KRAFT
- ansible.builtin.copy:
- src: server3.properties
- dest: /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties
- when: "ansible_default_ipv4.address == '10.60.37.30'"
- - name: SET A HOSTNAME
- ansible.builtin.hostname:
- name: kafka-node-3
- when: "ansible_default_ipv4.address == '10.60.37.30'"
- - name: CREATE COMMAND...
- debug:
- msg: "/home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/bin/kafka-storage.sh format -t QoIePQRbSC-llU-D558WWQ-c /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties --ignore-formatted"
- #- name: AND EXECUTE
- #command: "/home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/bin/kafka-storage.sh format -t {{ generate.stdout_lines[0] }} -c /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties --ignore-formatted"
- #register: hello
- - name: AND EXECUTE
- command: "/home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/bin/kafka-storage.sh format -t QoIePQRbSC-llU-D558WWQ -c /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties --ignore-formatted"
- register: hello
- - name: TEMPLATE {{service_name}} SYSTEMD SERVICE
- template:
- src: kafka.service.j2
- dest: '{{ kafka_unit_path }}'
- group: '{{ kafka_group }}'
- owner: '{{ kafka_user }}'
- mode: 0644
- notify:
- - Restart Kafka please
- when: ansible_os_family == "RedHat" and ansible_distribution_major_version > '6' or ansible_os_family == "Debian"
- - name: START AND ENABLE THE {{service_name}} SERVICE
- ansible.builtin.systemd:
- name: kafka
- daemon_reload: yes
- state: started
- enabled: yes
- - name: CLEAN KAFKA SOURCES
- ansible.builtin.shell: "rm -R /home/{{ kafka_user }}/kafka*"
Advertisement
Add Comment
Please, Sign In to add comment