-
Notifications
You must be signed in to change notification settings - Fork 20
/
provision.yml
50 lines (47 loc) · 1.61 KB
/
provision.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
---
- hosts: all
become: yes
vars:
zk:
version: 3.4.8
mirror: http://www-us.apache.org/dist
dataDir: /var/lib/zookeeper
installDir: "/opt"
tasks:
# Install Oracle JVM
- name: Java | Ensure the Oracle JVM repository is present
apt_repository:
repo: ppa:webupd8team/java
state: present
- name: Java | Ensure the Oracle license is accepted
shell: echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections
- name: Java | Ensure Oracle Java 7 is installed
apt:
name: oracle-java7-installer
state: latest
# Download Zookeeper
- name: Zookeeper | Setting internal variable
set_fact: zk_name="zookeeper-{{zk.version}}"
- name: Zookeeper | Setting internal variable
set_fact: zk_dir="{{zk.installDir}}/{{zk_name}}"
- name: Zookeeper | Ensure Zookeeper tar is downloaded
get_url:
url: "{{zk.mirror}}/zookeeper/{{zk_name}}/{{zk_name}}.tar.gz"
dest: "/tmp"
- name: ZooKeeper | Ensure tar is extracted
command: tar xzf /tmp/{{zk_name}}.tar.gz chdir="{{zk.installDir}}"
# Config and start Zookeeper
- name: ZooKeeper | Ensure zoo.conf is present
template:
src: "templates/zk/zoo.cfg"
dest: "{{zk_dir}}/conf"
- name: ZooKeeper | Ensures data dir {{zk.dataDir}} exists
file:
path: "{{zk.dataDir}}"
state: directory
- name: ZooKeeper | Ensure myid is set to {{cluster_node_seq}} in {{zk.dataDir}}/myid
template:
src: "templates/zk/myid"
dest: "{{zk.dataDir}}"
- name: ZooKeeper | Ensure the service is running
shell: "{{zk_dir}}/bin/zkServer.sh restart"