--- # Playbook for Hadoop master secondary server - name: Install the namenode and jobtracker packages yum: name=${item} state=installed with_items: - hadoop-0.20-mapreduce-jobtrackerha - hadoop-hdfs-namenode - hadoop-hdfs-zkfc - hadoop-0.20-mapreduce-zkfc - name: Copy the hadoop configuration files template: src=roles/common/templates/hadoop_ha_conf/${item}.j2 dest=/etc/hadoop/conf/${item} with_items: - core-site.xml - hadoop-metrics.properties - hadoop-metrics2.properties - hdfs-site.xml - log4j.properties - mapred-site.xml - slaves - ssl-client.xml.example - ssl-server.xml.example when_unset: $ha_disabled notify: restart hadoopha master services - name: Create the data directory for the namenode metadata file: path=${item} owner=hdfs group=hdfs state=directory with_items: ${hadoop.dfs_namenode_name_dir} - name: Create the data directory for the jobtracker ha file: path=${item} owner=mapred group=mapred state=directory with_items: ${hadoop.mapred_job_tracker_persist_jobstatus_dir} - name: Initialize the secodary namenode shell: creates=/usr/lib/hadoop/namenode.formatted su - hdfs -c "hadoop namenode -bootstrapStandby"; touch /usr/lib/hadoop/namenode.formatted - name: start hadoop namenode services service: name=${item} state=started with_items: - hadoop-hdfs-namenode - name: Initialize the zkfc for namenode shell: creates=/usr/lib/hadoop/zkfc.formatted su - hdfs -c "hdfs zkfc -formatZK"; touch /usr/lib/hadoop/zkfc.formatted register: nn_result - name: restart zkfc for namenode service: name=hadoop-hdfs-zkfc state=restarted delegate_to: ${item} with_items: ${groups.hadoop_masters} when_set: $nn_result and $nn_result.changed - name: Give permissions for mapred users shell: creates=/usr/lib/hadoop/fs.initialized su - hdfs -c "hadoop fs -chown hdfs:hadoop /"; su - hdfs -c "hadoop fs -chmod 0774 /"; touch /usr/lib/hadoop/namenode.initialized - name: Initialize the zkfc for jobtracker shell: creates=/usr/lib/hadoop/zkfcjob.formatted su - mapred -c "hadoop mrzkfc -formatZK"; touch /usr/lib/hadoop/zkfcjob.formatted register: jt_result - name: restart zkfc for jobtracker service: name=hadoop-0.20-mapreduce-zkfc state=restarted delegate_to: ${item} with_items: ${groups.hadoop_masters} when_set: $jt_result and $jt_result.changed - name: start hadoop Jobtracker services service: name=hadoop-0.20-mapreduce-jobtrackerha state=started delegate_to: ${item} with_items: ${groups.hadoop_masters} when_set: $jt_result and $jt_result.changed