前言
本章节主要介绍Hadoop运维管理中节点的上、下线
一、下线
运维过程中,遇到最多的就是某几个节点磁盘坏掉、磁盘满、机器宕机等情况导致某些任务执行失败,如果只是一个节点故障,并无大碍,因为一般任务有3次重试到其他节点的机会。但如果有很多节点同时故障,那就要优先考虑下线掉这些故障节点,以避免任务container再次被分配到该节点。
1. 修改active、standby节点的dfs.exclude
--hdfs-site.xml配置(下线对应的datanode存储)
<property>
<!-- 允许连接到HDFS的主机列表 -->
<name>dfs.hosts.exclude</name>
<value>/etc/hadoop/conf/dfs.exclude</value>
</property>
echo "core-6e9daba-1.novalocal" >> /etc/hadoop/conf/dfs.exclude
--yarn-site.xml配置(下线对应的yarn调度)
<property>
<name>yarn.resourcemanager.nodes.exclude-path</name>
<value>/etc/hadoop/conf/yarn.exclude</value>
</property>
echo “下线节点hostname” >> /etc/hadoop/conf/dfs.exclude echo “下线节点hostname” >> /etc/hadoop/conf/yarn.exclude
2.刷新slave文件 slaves文件里面记录的是集群里所有DataNode的主机名,这相当于是一份对于DN的白名单,只有在白名单里面的主机才能被NN识别
--hdfs-site.xml配置(下线对应的datanode存储)
<property>
<!-- 阻止连接到HDFS的主机列表 -->
<name>dfs.hosts</name>
<value>/etc/hadoop/conf/slave</value>
</property>
修改active、standby节点的hadoop/etc/hadoop/slave文件 修改后NN就拒绝了那个被删除了的DN数据,而NN会自动把DN上丢失的数据重新备份
3. 刷新节点
仅在active节点执行 [hdfs@aa2 ~]$ hdfs dfsadmin -refreshNodes [hdfs@aa2 ~]$ hdfs dfsadmin -report [hdfs@aa2 ~]$ yarn rmadmin -refreshNodes
下线前 下线后 如果情况紧急,只是想暂时性的让某些节点不再调度任务,可以直接关闭该节点的nodemanager
切换yarn用户 sh yarn-daemon.sh stop nodemanager
二、上线
上线步骤和下线步骤正好相反。简单描述如下:
第一步:去掉 /etc/hadoop/conf/dfs.exclude 、/etc/hadoop/conf/yarn.exclude中对应的节点 第二步:将要上线的节点添加到两个节点的dfs.hosts中的slave文件中 第三步:仅在active节点执行 [hdfs@aa ~]$ hdfs dfsadmin -refreshNodes [hdfs@aa ~]$ hdfs dfsadmin -report [hdfs@aa ~]$ yarn rmadmin -refreshNodes
|