This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-deployment-ansible-d…/Apache HBase/2.2.3/hbase/role/tasks/deploy-cluster.yml

89 lines
3.2 KiB
YAML
Raw Normal View History

- name: Setting node_nums variable
set_fact: node_nums="{{groups.hbase|length}}"
- name: To terminate execution
fail:
msg: "HBase Cluster mode at least 3 nodes,please checking configurations/hosts -> hbase"
when: node_nums < 3
- name: Checking Hadoop DataNode status
shell: source /etc/profile && hadoop dfsadmin -report | grep "Live datanodes" | grep -E -o "[0-9]"
async: 10
register: datanode_out
run_once: true
delegate_to: "{{ groups.hdfs[0] }}"
- name: Checking Hadoop NameNode status
shell: source /etc/profile && hadoop dfsadmin -report |grep 50010 | wc -l
async: 10
register: namenode_out
run_once: true
delegate_to: "{{ groups.hdfs[0] }}"
- name: To terminate execution
fail:
msg: "If the dependency test fails, check whether the Hadoop cluster is normal"
when: datanode_out.stdout <= '1' and namenode_out.stdout <= '1'
- name: Creating directory
file:
state: directory
path: '{{ deploy_dir }}/{{ container_name }}/{{ item.dir }}'
with_items:
- { dir: 'logs' }
- { dir: 'data' }
- { dir: 'conf' }
- { dir: 'init' }
- name: Unarchiving phoenix and conf
unarchive:
src: 'files/phoenix-hbase-2.2-5.1.2-bin.tar'
dest: '{{ deploy_dir }}/{{ container_name }}/'
force: yes
with_items:
- { file_name: 'phoenix-hbase-2.2-5.1.2-bin.tar' }
- { file_name: 'conf.zip' }
- name: Copying image to {{ deploy_dir }}/{{ container_name }}/
copy:
src: 'files/{{ image_name }}-{{ image_tag }}.tar'
dest: '{{ deploy_dir }}/{{ container_name }}/'
force: true
notify:
- Loading Image
- name: Fetching Hadoop config files to /tmp
ansible.builtin.fetch:
src: "{{ deploy_dir }}/hadoop-2.7.1/etc/hadoop/{{ item.filename }}"
dest: "/tmp/"
flat: yes
loop: "{{ hadoop_config_files }}"
run_once: true
delegate_to: "{{ groups.hdfs[0] }}"
- name: Copying Hadoop config files to other nodes
ansible.builtin.copy:
src: "/tmp/{{ item.filename }}"
dest: "{{ deploy_dir }}/{{ container_name }}/conf/"
loop: "{{ hadoop_config_files }}"
- name: Copying HBase config files
template:
src: '{{ item.src }}'
dest: '{{ item.dest }}'
mode: '{{ item.mode }}'
with_items:
- { src: 'hbase-site.xml.j2', dest: '{{ deploy_dir }}/{{ container_name }}/phoenix-hbase-2.2-5.1.2-bin/bin/hbase-site.xml', mode: '0644' }
- { src: 'startsql.sh.j2', dest: '{{ deploy_dir }}/{{ container_name }}/phoenix-hbase-2.2-5.1.2-bin/bin/startsql.sh', mode: '0755' }
- { src: 'hbase-site.xml.j2', dest: '{{ deploy_dir }}/{{ container_name }}/conf/hbase-site.xml', mode: '0644' }
- { src: 'regionservers.j2', dest: '{{ deploy_dir }}/{{ container_name }}/conf/regionservers', mode: '0644' }
- { src: 'backup-masters.j2', dest: '{{ deploy_dir }}/{{ container_name }}/conf/backup-masters', mode: '0644' }
- { src: 'hbase-env.sh.j2', dest: '{{ deploy_dir }}/{{ container_name }}/conf/hbase-env.sh', mode: '0755' }
- { src: 'rsgroup.sh.j2', dest: '{{ deploy_dir }}/{{ container_name }}/init/rsgroup.sh', mode: '0755' }
- { src: 'docker-compose.yml.j2', dest: '{{ deploy_dir }}/{{ container_name }}/docker-compose.yml', mode: '0644' }
notify:
- Loading Image
- Start Container
- meta: flush_handlers