Guest User

Untitled

a guest
Oct 26th, 2022
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.07 KB | None | 0 0
  1. ---
  2. # tasks file for kafka
  3. - name: CREATE {{ container_name }} GROUP
  4. ansible.builtin.group:
  5. name: "{{ kafka_group }}"
  6. state: present
  7. system: yes
  8. when: kafka_create_user_group | bool
  9.  
  10. - name: ALLOW '{{ kafka_group }}' GROUP TO HAVE PASSWORDLESS SUDO
  11. lineinfile:
  12. dest: /etc/sudoers
  13. state: present
  14. regexp: '^%{{ kafka_group }}'
  15. line: '%{{ kafka_group }} ALL=(ALL) NOPASSWD: ALL'
  16. validate: 'visudo -cf %s'
  17.  
  18. - name: CREATE {{ container_name }} USER
  19. user:
  20. name: '{{ kafka_user }}'
  21. group: '{{ kafka_group }}'
  22. password: "{{ kafka_user_password | password_hash('sha512') }}"
  23. state: present
  24. create_home: yes
  25. system: yes
  26. shell: /bin/bash
  27. when: kafka_create_user_group | bool
  28.  
  29. - name: UPDATE APT ON ALL DEBIAN/UBUNTU BOXES
  30. ansible.builtin.apt:
  31. name: "*"
  32. state: latest
  33.  
  34. - name: UPGRADE ALL PACKAGES ON SERVERS
  35. ansible.builtin.apt:
  36. upgrade: dist
  37. force_apt_get: yes
  38.  
  39. - name: INSTALL REQUIRED PACKAGES gnupg gcc cmake g++ default-jre unzip tar zstd
  40. ansible.builtin.apt:
  41. name:
  42. - gnupg
  43. - gcc
  44. - g++
  45. - cmake
  46. - default-jre
  47. - unzip
  48. - tar
  49. - zstd
  50. state: latest
  51.  
  52. - name: DOWNLOAD https://dlcdn.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz
  53. ansible.builtin.get_url:
  54. url: https://dlcdn.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz
  55. dest: '/home/{{ kafka_user }}/kafka_2.13-3.3.1.tgz'
  56. mode: '770'
  57.  
  58. - name: EXTRACT /home/{{ kafka_user }}/kafka_2.13-3.3.1.tgz INTO /home/{{ kafka_user }}
  59. ansible.builtin.unarchive:
  60. src: '/home/{{ kafka_user }}/kafka_2.13-3.3.1.tgz'
  61. dest: '/home/{{ kafka_user }}'
  62. remote_src: yes
  63.  
  64. - name: CREATE A INSTALL DIRECTORY FOR KAFKA IF IT DOES NOT EXIST
  65. ansible.builtin.file:
  66. path: "/home/{{ kafka_user }}/installed/"
  67. state: directory
  68. mode: '0755'
  69.  
  70. - name: CREATE A LOG DIRECTORY FOR KAFKA IF IT DOES NOT EXIST
  71. ansible.builtin.file:
  72. path: "/var/log/kafka/"
  73. state: directory
  74. mode: '0755'
  75.  
  76. - name: INSTALL KAFKA_2.13-3.3.1
  77. ansible.builtin.copy:
  78. src: "/home/{{ kafka_user }}/kafka_2.13-3.3.1"
  79. dest: "/home/{{ kafka_user }}/installed"
  80. follow: yes
  81. remote_src: yes
  82.  
  83. - name: GENERATE A NEW ID
  84. command: "/home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/bin/kafka-storage.sh random-uuid"
  85. register: generate
  86.  
  87. - debug: msg="{{ generate.stdout }}"
  88.  
  89. - name: "COPY A 'server1.properties' FILE ON THE REMOTE MACHINE {{ ansible_host }} FOR KAFKA KRAFT"
  90. ansible.builtin.copy:
  91. src: server1.properties
  92. dest: /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties
  93. when: "ansible_default_ipv4.address == '10.60.212.200'"
  94.  
  95. - name: SET A HOSTNAME
  96. ansible.builtin.hostname:
  97. name: kafka-node-1
  98. when: "ansible_default_ipv4.address == '10.60.212.200'"
  99.  
  100. - name: COPY A "server2.properties" FILE ON THE REMOTE MACHINE {{ ansible_host}} FOR KAFKA KRAFT
  101. ansible.builtin.copy:
  102. src: server2.properties
  103. dest: /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties
  104. when: "ansible_default_ipv4.address == '10.60.212.241'"
  105.  
  106. - name: SET A HOSTNAME
  107. ansible.builtin.hostname:
  108. name: kafka-node-2
  109. when: "ansible_default_ipv4.address == '10.60.212.241'"
  110.  
  111. - name: COPY A "server3.properties" FILE ON THE REMOTE MACHINE {{ ansible_host}} FOR KAFKA KRAFT
  112. ansible.builtin.copy:
  113. src: server3.properties
  114. dest: /home/{{ kafka_user }}/installed/kafka_2.13-3.3.1/config/kraft/server.properties
  115. when: "ansible_default_ipv4.address == '10.60.37.30'"
  116.  
  117. - name: SET A HOSTNAME
  118. ansible.builtin.hostname:
  119. name: kafka-node-3
  120. when: "ansible_default_ipv4.address == '10.60.37.30'"
  121.  
  122. - name: CREATE COMMAND...
  123. debug:
  124. 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"
  125.  
  126. #- name: AND EXECUTE
  127. #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"
  128. #register: hello
  129.  
  130. - name: AND EXECUTE
  131. 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"
  132. register: hello
  133.  
  134. - name: TEMPLATE {{service_name}} SYSTEMD SERVICE
  135. template:
  136. src: kafka.service.j2
  137. dest: '{{ kafka_unit_path }}'
  138. group: '{{ kafka_group }}'
  139. owner: '{{ kafka_user }}'
  140. mode: 0644
  141. notify:
  142. - Restart Kafka please
  143. when: ansible_os_family == "RedHat" and ansible_distribution_major_version > '6' or ansible_os_family == "Debian"
  144.  
  145. - name: START AND ENABLE THE {{service_name}} SERVICE
  146. ansible.builtin.systemd:
  147. name: kafka
  148. daemon_reload: yes
  149. state: started
  150. enabled: yes
  151.  
  152. - name: CLEAN KAFKA SOURCES
  153. ansible.builtin.shell: "rm -R /home/{{ kafka_user }}/kafka*"
Advertisement
Add Comment
Please, Sign In to add comment