-
Notifications
You must be signed in to change notification settings - Fork 6
/
main.yml
109 lines (94 loc) · 3.08 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
---
# Check for the availability of the Kafka package
- name: Check kafka package availability
stat: path={{ kafka_dir }}
register: kafka_package
become: yes
- name: Create deployment directory {{ datalake_deployment_dir }}
file: path={{datalake_deployment_dir}}
state=directory
mode=0755
owner={{ user }}
group={{ group }}
become: yes
# Download Kafka
- name: Download and unarchive Kafka from {{ kafka_tgz_url }}
unarchive: src="{{ kafka_tgz_url }}"
dest="{{ datalake_deployment_dir }}"
copy=no
owner="{{ user }}"
group="{{ group }}"
when: not kafka_package.stat.exists
become: yes
# Create kafka logs directory
- name: Create kafka logs directory
file: path="{{ kafka_dir }}/logs" state=directory owner={{ user }} group={{ group }}
become: yes
# Config kafka server and start
- name: Copy kafka server properties file
template: src=server.properties.j2
dest="{{ kafka_dir }}/etc/kafka/server.properties"
owner={{ user }}
group={{ group }}
mode="u=rw,g=r,o=r"
notify: restart kafka
become: yes
# Config rest proxy and start
- name: Copy kafka rest proxy properties file
template: src=kafka-rest.properties.j2
dest="{{ kafka_dir }}/etc/kafka-rest/kafka-rest.properties"
owner={{ user }}
group={{ group }}
mode="u=rw,g=r,o=r"
become: yes
- name: open kafka proxy port
firewalld: port="{{ kafka_listener_port }}/tcp"
zone=public permanent=true state=enabled immediate=yes
become: yes
- name: open kafka rest proxy port
firewalld: port="{{ kafka_rest_proxy_listener_port }}/tcp"
zone=public permanent=true state=enabled immediate=yes
become: yes
- name: systemd install kafka service script
template: src=kafka.service.j2
dest=/usr/lib/systemd/system/kafka.service
owner={{ user }}
group={{ group }}
mode="u=rw,g=r,o=r"
notify: start kafka
become: yes
- name: systemd install kafka rest proxy service script
template: src=kafka-rest-proxy.service.j2
dest=/usr/lib/systemd/system/kafka-rest-proxy.service
owner={{ user }}
group={{ group }}
mode="u=rw,g=r,o=r"
become: yes
- name: Reload systemd daemons
command: systemctl daemon-reload
notify: restart kafka
become: yes
- name: Reload systemd daemons
command: systemctl daemon-reload
notify: restart kafka-rest-proxy
become: yes
...