You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2016/09/24 01:49:40 UTC

[6/9] airavata git commit: successfully started mesos-master with zookeeper ring

successfully started mesos-master with zookeeper ring


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/1ae82630
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/1ae82630
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/1ae82630

Branch: refs/heads/develop
Commit: 1ae8263079fc45fbff6be88706675ed239c973f3
Parents: 223ea3a
Author: Shameera Rathnayaka <sh...@gmail.com>
Authored: Sun Sep 11 01:23:50 2016 -0400
Committer: Shameera Rathnayaka <sh...@gmail.com>
Committed: Sun Sep 11 01:23:50 2016 -0400

----------------------------------------------------------------------
 group_vars/all.yml                      |  2 +-
 hosts                                   | 10 ++-
 roles/java/tasks/main.yml               | 21 ++++++
 roles/java/vars/main.yml                | 15 +++++
 roles/mesos-master/tasks/main.yml       | 38 ++++-------
 roles/mesos-master/templates/myid.j2    |  1 -
 roles/mesos-master/templates/zk.j2      |  2 +-
 roles/mesos-master/templates/zoo.cfg.j2 | 32 ---------
 roles/mesos-slave/templates/zk.j2       |  2 +-
 roles/zookeeper/handlers/main.yml       | 15 +++++
 roles/zookeeper/tasks/main.yml          | 98 ++++++++++++++++++++++++++++
 roles/zookeeper/templates/myid.j2       |  1 +
 roles/zookeeper/templates/zoo.cfg.j2    | 32 +++++++++
 roles/zookeeper/vars/main.yml           | 15 +++++
 site.yml                                | 16 +++--
 15 files changed, 229 insertions(+), 71 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/group_vars/all.yml
----------------------------------------------------------------------
diff --git a/group_vars/all.yml b/group_vars/all.yml
index b0a6cf2..f7d7ae5 100644
--- a/group_vars/all.yml
+++ b/group_vars/all.yml
@@ -19,7 +19,7 @@ user_home: "/home/{{user}}"
 
 
 #Zookeeper related properties
-zk_client_port: 2181
+zookeeper_client_port: 2181
 # zookeeper_servers:
 #   - { index: 1, ip: "", ports: "2888:3888"}
 #   - { index: 2, ip: "", ports: "2888:3888"}

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/hosts
----------------------------------------------------------------------
diff --git a/hosts b/hosts
index 7ceb1f7..cc90239 100644
--- a/hosts
+++ b/hosts
@@ -1,9 +1,13 @@
 ---
 # inventory fie: production
 #[localhost]
-#127.0.0.1
+127.0.0.1
 
 [mesos-master]
-52.91.222.138
+52.87.208.230 my_id=1
+54.172.21.138 my_id=2
+54.196.170.54 my_id=3
 
-#[mesos-agent]
+
+[mesos-slave]
+54.175.143.203

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/java/tasks/main.yml
----------------------------------------------------------------------
diff --git a/roles/java/tasks/main.yml b/roles/java/tasks/main.yml
new file mode 100644
index 0000000..92f2039
--- /dev/null
+++ b/roles/java/tasks/main.yml
@@ -0,0 +1,21 @@
+---
+# Install Orcal Java
+- name: download oracle java 8 rpm
+  get_url: url="{{ java_rpm_url }}" dest="{{ java_dir_source }}" headers='Cookie:oraclelicense=accept-securebackup-cookie'
+  become: yes
+
+- name: Install oracle java 8
+  yum: name="{{ java_dir_source }}/{{ java_rpm_filename }}" state=present
+  become: yes
+
+- name: set Oracle Java {{ java_version_string }} as default
+  alternatives:
+    name="{{ item.exe }}"
+    link="/usr/bin/{{ item.exe }}"
+    path="{{ item.path }}/{{ item.exe }}"
+  with_items:
+    - { path: "{{ java_home }}/jre/bin", exe: 'java' }
+    - { path: "{{ java_home }}/jre/bin", exe: 'keytool' }
+    - { path: "{{ java_home }}/bin", exe: 'javac' }
+    - { path: "{{ java_home }}/bin", exe: 'javadoc' }
+  become: yes

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/java/vars/main.yml
----------------------------------------------------------------------
diff --git a/roles/java/vars/main.yml b/roles/java/vars/main.yml
new file mode 100644
index 0000000..a995684
--- /dev/null
+++ b/roles/java/vars/main.yml
@@ -0,0 +1,15 @@
+---
+#Variables associated with this role
+# Oracle Java 8
+java_dir_source: "/usr/local/src"
+
+java_version: 8
+java_version_update: 91
+java_version_build: '14'
+java_version_string: "1.{{ java_version }}.0_{{ java_version_update }}"
+java_home: "/usr/java/jdk1.{{ java_version }}.0_{{ java_version_update }}"
+
+java_rpm_filename: "jdk-{{ java_version }}u{{ java_version_update }}-linux-x64.rpm"
+java_rpm_url: "http://download.oracle.com/otn-pub/java/jdk/{{ java_version }}u{{ java_version_update }}-b{{ java_version_build }}/{{ java_rpm_filename }}"
+
+...

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/mesos-master/tasks/main.yml
----------------------------------------------------------------------
diff --git a/roles/mesos-master/tasks/main.yml b/roles/mesos-master/tasks/main.yml
index e132915..6afefe1 100644
--- a/roles/mesos-master/tasks/main.yml
+++ b/roles/mesos-master/tasks/main.yml
@@ -21,13 +21,21 @@
     state: enabled
     immediate: yes
   with_items:
-    - "{{ zk_client_port }}/tcp"
-    - "2888/tcp"
-    - "3888/tcp"
+    # - "{{ zk_client_port }}/tcp"
+    # - "2888/tcp"
+    # - "3888/tcp"
     - "5050/tcp"
     # - "marathon/tcp"
   become: yes
 
+- name: install utility - TODO delete this
+  yum:
+    name: "{{ item }}"
+    state: latest
+  with_items:
+    - vim
+  become: yes
+
 # Setup repository
 - name: add mesosphere rpm
   yum:
@@ -35,37 +43,17 @@
     state: present
   become: yes
 
-- name: install mesos , marathon and mesosphere-zookeeper
+- name: install mesos and marathon
   yum:
     name: "{{ item }}"
     state: latest
   with_items:
     - mesos
     - marathon
-    - mesosphere-zookeeper
+    # - mesosphere-zookeeper
   become: yes
 
 # configurations
-#setting ID
-- name: copy myid file
-  template:
-    src: myid.j2
-    dest: /var/lib/zookeeper/myid
-    force: yes
-  become: yes
-
-- name: append zookeeper ring ips
-  template:
-    src: zoo.cfg.j2
-    dest: /etc/zookeeper/conf/zoo.cfg
-    force: yes
-  become: yes
-
-- name: start Zookeeper
-  service:
-    name: zookeeper
-    state: started
-  become: yes
 
 - name: set zk file for mesos master and marathon
   template:

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/mesos-master/templates/myid.j2
----------------------------------------------------------------------
diff --git a/roles/mesos-master/templates/myid.j2 b/roles/mesos-master/templates/myid.j2
deleted file mode 100644
index 78a0bd7..0000000
--- a/roles/mesos-master/templates/myid.j2
+++ /dev/null
@@ -1 +0,0 @@
-{{ my_id }}

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/mesos-master/templates/zk.j2
----------------------------------------------------------------------
diff --git a/roles/mesos-master/templates/zk.j2 b/roles/mesos-master/templates/zk.j2
index 9c7747b..e82fe65 100644
--- a/roles/mesos-master/templates/zk.j2
+++ b/roles/mesos-master/templates/zk.j2
@@ -1 +1 @@
-zk://{{zk_1}}:{{zk_client_port}},{{zk_2}}:{{zk_client_port}},{{zk_3}}:{{zk_client_port}}/mesos
+zk://{{zk_1}}:{{zookeeper_client_port}},{{zk_2}}:{{zookeeper_client_port}},{{zk_3}}:{{zookeeper_client_port}}/mesos

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/mesos-master/templates/zoo.cfg.j2
----------------------------------------------------------------------
diff --git a/roles/mesos-master/templates/zoo.cfg.j2 b/roles/mesos-master/templates/zoo.cfg.j2
deleted file mode 100644
index 922d0b2..0000000
--- a/roles/mesos-master/templates/zoo.cfg.j2
+++ /dev/null
@@ -1,32 +0,0 @@
-# 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.
-
-maxClientCnxns=50
-# The number of milliseconds of each tick
-tickTime=2000
-# The number of ticks that the initial
-# synchronization phase can take
-initLimit=10
-# The number of ticks that can pass between
-# sending a request and getting an acknowledgement
-syncLimit=5
-# the directory where the snapshot is stored.
-dataDir=/var/lib/zookeeper
-# the port at which the clients will connect
-clientPort={{ zk_client_port }}
-
-server.1={{zk_1}}:2888:3888
-server.2={{zk_2}}:2888:3888
-server.3={{zk_3}}:2888:3888

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/mesos-slave/templates/zk.j2
----------------------------------------------------------------------
diff --git a/roles/mesos-slave/templates/zk.j2 b/roles/mesos-slave/templates/zk.j2
index 9c7747b..e82fe65 100644
--- a/roles/mesos-slave/templates/zk.j2
+++ b/roles/mesos-slave/templates/zk.j2
@@ -1 +1 @@
-zk://{{zk_1}}:{{zk_client_port}},{{zk_2}}:{{zk_client_port}},{{zk_3}}:{{zk_client_port}}/mesos
+zk://{{zk_1}}:{{zookeeper_client_port}},{{zk_2}}:{{zookeeper_client_port}},{{zk_3}}:{{zookeeper_client_port}}/mesos

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/zookeeper/handlers/main.yml
----------------------------------------------------------------------
diff --git a/roles/zookeeper/handlers/main.yml b/roles/zookeeper/handlers/main.yml
new file mode 100644
index 0000000..f1ea4be
--- /dev/null
+++ b/roles/zookeeper/handlers/main.yml
@@ -0,0 +1,15 @@
+---
+- name: start zookeeper
+  command: bin/zkServer.sh start
+  args:
+    chdir: "{{zookeeper_dir}}"
+
+- name: restart zookeeper
+  command: bin/zkServer.sh restart
+  args:
+    chdir: "{{zookeeper_dir}}"
+
+- name: stop zookeeper
+  command: bin/zkServer.sh stop
+  args:
+    chdir: "{{zookeeper_dir}}"

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/zookeeper/tasks/main.yml
----------------------------------------------------------------------
diff --git a/roles/zookeeper/tasks/main.yml b/roles/zookeeper/tasks/main.yml
new file mode 100644
index 0000000..02c246f
--- /dev/null
+++ b/roles/zookeeper/tasks/main.yml
@@ -0,0 +1,98 @@
+---
+- name: install pre-requities
+  yum:
+    name: "{{item}}"
+    state: latest
+  with_items:
+    - firewalld
+    - vim
+  become: yes
+
+- name: start firewalld
+  service:
+    name: firewalld
+    state: started
+  become: yes
+
+- name: open zookeeper port
+  firewalld:
+    port: "{{item}}"
+    zone: public
+    permanent: true
+    state: enabled
+    immediate: yes
+  with_items:
+    - "{{zookeeper_client_port}}/tcp"
+    - 2888/tcp
+    - 3888/tcp
+  become: yes
+
+# - name: get ip4 address
+#   command: hostname -i
+#   register: _ip4
+#   tags: ttt
+
+# - debug:
+#     msg: "{{_ip4.stdout}}"
+#   tags: ttt
+
+######################
+- name: Download and unarchive zookeeper
+  unarchive:
+    src: "{{ zookeeper_url }}"
+    dest: /opt
+    copy: no
+    creates: /opt/zookeeper-{{ zookeeper_version }}
+    owner: "{{ user }}"
+    group: "{{ group }}"
+  become: yes
+
+- name: Link to Zookeeper Directory
+  file:
+    src: "/opt/zookeeper-{{ zookeeper_version }}"
+    dest: "{{zookeeper_dir}}"
+    state: link
+    force: yes
+  become: yes
+
+- name: Create Zookeeper Log Dir
+  file:
+    path: "{{zookeeper_log_dir}}"
+    owner: "{{ user }}"
+    group: "{{ group }}"
+    recurse: yes
+    state: directory
+    mode: 0644
+  become: yes
+
+- name: Create Zookeeper DataStore Dir
+  file:
+    path: "{{zookeeper_datastore_dir}}"
+    owner: "{{ user }}"
+    group: "{{ group }}"
+    recurse: yes
+    state: directory
+    mode: 0755
+  become: yes
+
+- name: Copy zoo.cfg file
+  template:
+    src: zoo.cfg.j2
+    # dest: "{{zookeeper_conf_dir}}/zoo.cfg"
+    dest: "{{zookeeper_dir}}/conf/zoo.cfg"
+    owner: "{{ user }}"
+    group: "{{ group }}"
+    mode: "u=rw,g=r,o=r"
+  notify:
+    - restart zookeeper
+
+
+- name: Copy myid file
+  template:
+    src: myid.j2
+    dest: "{{zookeeper_datastore_dir}}/myid"
+    owner: "{{ user }}"
+    group: "{{ group }}"
+    mode: "u=rw,g=r,o=r"
+  notify:
+    - restart zookeeper

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/zookeeper/templates/myid.j2
----------------------------------------------------------------------
diff --git a/roles/zookeeper/templates/myid.j2 b/roles/zookeeper/templates/myid.j2
new file mode 100644
index 0000000..78a0bd7
--- /dev/null
+++ b/roles/zookeeper/templates/myid.j2
@@ -0,0 +1 @@
+{{ my_id }}

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/zookeeper/templates/zoo.cfg.j2
----------------------------------------------------------------------
diff --git a/roles/zookeeper/templates/zoo.cfg.j2 b/roles/zookeeper/templates/zoo.cfg.j2
new file mode 100644
index 0000000..4845a71
--- /dev/null
+++ b/roles/zookeeper/templates/zoo.cfg.j2
@@ -0,0 +1,32 @@
+# 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.
+
+maxClientCnxns=50
+# The number of milliseconds of each tick
+tickTime=2000
+# The number of ticks that the initial
+# synchronization phase can take
+initLimit=10
+# The number of ticks that can pass between
+# sending a request and getting an acknowledgement
+syncLimit=5
+# the directory where the snapshot is stored.
+dataDir={{zookeeper_datastore_dir}}
+# the port at which the clients will connect
+clientPort={{zookeeper_client_port}}
+
+{% for server in zookeeper_servers %}
+server.{{ server.id }}={{ server.ip }}:2888:3888
+{% endfor %}

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/roles/zookeeper/vars/main.yml
----------------------------------------------------------------------
diff --git a/roles/zookeeper/vars/main.yml b/roles/zookeeper/vars/main.yml
new file mode 100644
index 0000000..07f9ca1
--- /dev/null
+++ b/roles/zookeeper/vars/main.yml
@@ -0,0 +1,15 @@
+---
+zookeeper_version: 3.4.8
+#zookeeper_conf_dir: /etc/zookeeper/conf
+zookeeper_log_dir: /var/log/zookeeper
+zookeeper_datastore_dir: /var/lib/zookeeper
+zookeeper_url: http://www.us.apache.org/dist/zookeeper/zookeeper-{{zookeeper_version}}/zookeeper-{{zookeeper_version}}.tar.gz
+zookeeper_dir: /opt/zookeeper
+#zookeeper_client_port: 2181
+
+zookeeper_servers:
+  - {id: "1", ip: "172.31.24.149"}
+  - {id: "2", ip: "172.31.19.49"}
+  - {id: "3", ip: "172.31.25.80"}
+#exhibitor_version: 1.5.5
+#exhibitor_install_dir: /opt/exhibitor

http://git-wip-us.apache.org/repos/asf/airavata/blob/1ae82630/site.yml
----------------------------------------------------------------------
diff --git a/site.yml b/site.yml
index 4020f15..17258bd 100644
--- a/site.yml
+++ b/site.yml
@@ -1,17 +1,19 @@
 ---
 - hosts: localhost
-  tags: test
+  tags: ec2
   roles:
-    - test
+    - ec2
 
 - hosts: mesos-master
-  tags: mesos
+  tags: mesos, mesos-master
   roles:
-    - mesos
+    - java
+    - zookeeper
+    - mesos-master
 
-- hosts: mesos-master
-  tags: mesosyum
+- hosts: mesos-slave
+  tags: mesos, mesos-slave
   roles:
-    - mesos-yum
+    - mesos-slave
 
 ...