- name: Setting node_nums variable set_fact: node_nums="{{groups.hdfs|length}}" - name: To terminate execution fail: msg: "Fully Distributed Mode at least 3 nodes, please checking configurations/hosts -> hdfs" when: node_nums < 3 - name: check Jdk version shell: source /etc/profile && java -version 2>&1 | grep {{ java_version }} | wc -l ignore_errors: false register: jdk_out - name: To terminate execution fail: msg: "JDK is not installed in the target cluster, please check!" when: jdk_out.stdout != '2' run_once: true delegate_to: 127.0.0.1 - name: create hadoop package path:{{ deploy_dir }} file: state: directory path: '{{ deploy_dir }}' - block: - name: unpack hadoop-2.7.1.tar.gz to {{ deploy_dir }}/ unarchive: src: 'files/{{ hadoop_version }}.tar.gz' dest: '{{ deploy_dir }}/' - name: copying yarn master config files template: src: '{{ item.src }}' dest: '{{ deploy_dir }}/{{ hadoop_version }}/{{ item.dest }}' mode: '{{ item.mode }}' backup: false with_items: - { src: 'yarn-site.xml.j2', dest: 'etc/hadoop/yarn-site.xml', mode: '0644' } - { src: 'slaves.j2', dest: 'etc/hadoop/slaves', mode: '0644' } - { src: 'set_yarn_env.sh.j2', dest: 'bin/set_yarn_env.sh', mode: '0755' } - { src: 'core-site.xml.j2', dest: 'etc/hadoop/core-site.xml', mode: '0644' } - { src: 'hdfs-site.xml.j2', dest: 'etc/hadoop/hdfs-site.xml', mode: '0644' } - { src: 'mapred-site.xml.j2', dest: 'etc/hadoop/mapred-site.xml', mode: '0644' } - { src: 'capacity-scheduler.xml.j2', dest: 'etc/hadoop/capacity-scheduler.xml', mode: '0644' } - { src: 'yarn-env.sh.j2', dest: 'etc/hadoop/yarn-env.sh', mode: '0755' } - { src: 'hadoop-env.sh.j2', dest: 'etc/hadoop/hadoop-env.sh', mode: '0755' } when: inventory_hostname not in groups['hdfs'] - name: copying yarn master config files template: src: '{{ item.src }}' dest: '{{ deploy_dir }}/{{ hadoop_version }}/{{ item.dest }}' mode: '{{ item.mode }}' backup: false with_items: - { src: 'yarn-site.xml.j2', dest: 'etc/hadoop/yarn-site.xml', mode: '0644' } - { src: 'slaves.j2', dest: 'etc/hadoop/slaves', mode: '0644' } - { src: 'mapred-site.xml.j2', dest: 'etc/hadoop/mapred-site.xml', mode: '0644' } - { src: 'yarn-env.sh.j2', dest: 'etc/hadoop/yarn-env.sh', mode: '0755' } - { src: 'set_yarn_env.sh.j2', dest: 'bin/set_yarn_env.sh', mode: '0755' } - { src: 'capacity-scheduler.xml.j2', dest: 'etc/hadoop/capacity-scheduler.xml', mode: '0644' } when: inventory_hostname in groups['hdfs'] - block: - name: copying yarn worker template: src: 'daemonscript/{{ item.src }}' dest: '{{ item.dest }}' mode: 0755 backup: yes with_items: - { src: 'dae-yarnhistory.sh.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/sbin/dae-yarnhistory.sh' } - { src: 'dae-yarnmaster.sh.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/sbin/dae-yarnmaster.sh' } - { src: 'keepyarnhistory.j2', dest: '/etc/init.d/keepyarnhistory' } - { src: 'keepyarnmaster.j2', dest: '/etc/init.d/keepyarnmaster' } when: inventory_hostname in groups['yarn'][0:2] - block: - name: Start ResourceManager and JobHistoryServer shell: cd {{ deploy_dir }}/{{ hadoop_version }}/bin/ && ./set_yarn_env.sh {{ item.opeation }} with_items: - { opeation: 'chkconfig' } - { opeation: 'master' } - { opeation: 'history' } - name: Waiting for the ResourceManager start,sleep 60s shell: sleep 60 - name: checking ResourceManager status shell: source /etc/profile && jps -l | grep "org.apache.hadoop.yarn.server.resourcemanager.ResourceManager" | grep -v grep | wc -l register: resourcemanager_check - name: checking ResourceManager fail: msg: "ResourceManager节点启动异常,请登陆{{ inventory_hostname }},保留日志反馈,路径:{{ deploy_dir }}/{{ hadoop_version }}/logs/" when: resourcemanager_check.stdout != '1' run_once: true delegate_to: 127.0.0.1 - name: checking JobHistoryServer status shell: source /etc/profile && jps -l | grep "org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer" | grep -v grep | wc -l register: history_check - name: checking JobHistoryServer fail: msg: "JobHistoryServer节点启动异常,请登陆{{ inventory_hostname }},保留日志反馈,路径:{{ deploy_dir }}/{{ hadoop_version }}/logs/" when: history_check.stdout != '1' run_once: true delegate_to: 127.0.0.1 when: inventory_hostname in groups['yarn'][0:2] - block: - name: copying yarn worker template: src: 'daemonscript/{{ item.src }}' dest: '{{ item.dest }}' mode: 0755 backup: yes with_items: - { src: 'dae-yarnworker.sh.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/sbin/dae-yarnworker.sh' } - { src: 'keepyarnworker.j2', dest: '/etc/init.d/keepyarnworker' } - name: Start NodeManager shell: cd {{ deploy_dir }}/{{ hadoop_version }}/bin/ && ./set_yarn_env.sh {{ item.opeation }} with_items: - { opeation: 'chkconfig' } - { opeation: 'worker' } - name: Waiting for the NodeManager start,sleep 60s shell: sleep 60 - name: checking NodeManager status shell: source /etc/profile && jps -l | grep "org.apache.hadoop.yarn.server.nodemanager.NodeManager" | grep -v grep | wc -l register: datanode_status - name: checking NodeManager fail: msg: "NodeManager未启动,请登陆[{{ inventory_hostname }}],保留日志反馈,路径:{{ deploy_dir }}/{{ hadoop_version }}/logs/" when: datanode_status.stdout != '1' run_once: true delegate_to: 127.0.0.1 when: node_nums >= cluster_limit and inventory_hostname not in groups['yarn'][0:2] - block: - name: copying yarn worker template: src: 'daemonscript/{{ item.src }}' dest: '{{ item.dest }}' mode: 0755 backup: yes with_items: - { src: 'dae-yarnworker.sh.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/sbin/dae-yarnworker.sh' } - { src: 'keepyarnworker.j2', dest: '/etc/init.d/keepyarnworker' } - name: Start NodeManager shell: cd {{ deploy_dir }}/{{ hadoop_version }}/bin/ && ./set_yarn_env.sh {{ item.opeation }} with_items: - { opeation: 'chkconfig' } - { opeation: 'worker' } - name: Waiting for the NodeManager start,sleep 60s shell: sleep 60 - name: checking NodeManager status shell: source /etc/profile && jps -l | grep "org.apache.hadoop.yarn.server.nodemanager.NodeManager" | grep -v grep | wc -l register: datanode_status - name: checking NodeManager fail: msg: "NodeManager未启动,请登陆[{{ inventory_hostname }}],保留日志反馈,路径:{{ deploy_dir }}/{{ hadoop_version }}/logs/" when: datanode_status.stdout != '1' run_once: true delegate_to: 127.0.0.1 when: node_nums < cluster_limit #--------------------------------------------Flink----------------------------------------------# - name: Copying Flink installation package unarchive: src: 'files/{{ flink_version }}.tgz' dest: '{{ deploy_dir }}/{{ hadoop_version }}/' - name: Config flink configuration template: src: '{{ item.src }}' dest: '{{ item.dest }}' mode: '{{ item.mode }}' with_items: - { src: 'flink/flink.sh.j2', dest: '/etc/profile.d/flink.sh', mode: '0755' } - { src: 'flink/flink-conf.yaml.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/{{ flink_version }}/conf/flink-conf.yaml', mode: '0644' } - { src: 'yarn-site.xml.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/{{ flink_version }}/conf/yarn-site.xml', mode: '0644' } - { src: 'core-site.xml.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/{{ flink_version }}/conf/core-site.xml', mode: '0644' } - { src: 'hdfs-site.xml.j2', dest: '{{ deploy_dir }}/{{ hadoop_version }}/{{ flink_version }}/conf/hdfs-site.xml', mode: '0644' }