ansible_playbooks

ELKB roles playbook:

Data Source => filebeat => Kafka <=> zookeeper
                  ||
                  ︾
               logstash => Elasticsearch => Kibana
                  ||
                  ︾ .=> .=> hdfs

For comprehensive details refer to the README.md in every role directory.

todo list:

hdfs role

Requisitions Check Example:

requisition_precheck.yml

---
- hosts: deploy_servers
  vars:
  tasks:
    - name: check java version
      shell: source ~/.bash_profile; java -version
      register: result
      failed_when: "'1.8' not in result.stderr"

    - name: check python version
      shell: python -V|grep '2.7'
      register: result
      failed_when: "'' == result.stderr"

# - hosts: zookeeper_servers
#   vars:
#     zookeeper_con: 10.0.0.11:12181,10.0.0.12:12181,10.0.0.13:12181
#   tasks:
#     - name: check if zk can connect
#       shell: nc -z -w 10 {{ item.split(':')[0] }} {{ item.split(':')[1] }}
#       with_items: "{{ zookeeper_con.split(',') }}"
#       register: result
#       failed_when: "'succeeded' not in result.stdout"

- hosts: zookeeper_servers
  vars:
    zookeeper_port: 12181
  tasks:
    - name: check_zookeeper_port
      wait_for: port={{ zookeeper_port }} timeout=1
      debug: msg=ok

- hosts: kafka_servers
  vars:
     kafka_port: 9092
  tasks:
    - name: check_kafka_port
      wait_for: port={{ kafka_port }} timeout=1
      debug: msg=ok

- hosts: elasticsearch_servers
  vars:
     elasticsearch_port: 9200
  tasks:
    - name: check_elasticsearch_port
      wait_for: port={{ elasticsearch_port }} timeout=1
      debug: msg=ok

- hosts: logstash_servers
  vars:
     logstash_port: 9600
  tasks:
    - name: check_logstash_port
      wait_for: port={{ logstash_port }} timeout=1
      debug: msg=ok

- hosts: kibana_servers
  vars:
     kibana_port: 5601
  tasks:
    - name: check_kibana_port
      wait_for: port={{ kibana_port }} timeout=1
      debug: msg=ok

Usage:

ansible-playbook -u deploy -i kafka_hosts kafka.yml