dfs.hosts.exclude/opt/hadoop-0.20.2-cdh3u6/conf/excludesNames a file that contains a list of hosts that are not permitted to connect to the namenode. The full pathname of the
file must be specified. If the value is empty, no hosts are excluded.
b.vi /opt/hadoop-0.20.2-cdh3u6/conf/excludes
添加下架机器的 ip:port 或者 ip :
我这里是 192.168.1.143
具体的信息 可以通过 hadoop dfsadmin -report查询到 ,此时节点的
Decommission Status : Normal
c.执行下架的命令:
$HADOOP_HOME/bin/hadoop dfsadmin -refreshNodes
$HADOOP_HOME/bin/hadoop mradmin -refreshNodes
d.查看hadoop dfsadmin -report 在下架成功之前是Decommission Status : Decommission in progress
成功之后节点信息是Decommission Status : Decommissioned
我这边的下架节点的数据量大约用了10T,花费的时间大约是1--2 小时。
c.Decommission Status : Decommissioned 之后 我就删除了 /opt/hadoop-0.20.2-cdh3u6/conf/excludes
记录的是由于开启了 坏掉磁盘的datanode,导致集群部分功能无法使用的现象。
上次的解决办法是 直接暴力kill掉了坏掉磁盘的DataNode && TaskTracker
修复的节点记录为 slave143
过程如下:
1.下线slave143:
a.修改$HADOOP_HOME/conf/hdfs-site.xml文件
添加配置 dfs.hosts.exclude
b.vi /opt/hadoop-0.20.2-cdh3u6/conf/excludes
添加下架机器的 ip:port 或者 ip :
我这里是 192.168.1.143
具体的信息 可以通过 hadoop dfsadmin -report查询到 ,此时节点的
Decommission Status : Normal
c.执行下架的命令:
$HADOOP_HOME/bin/hadoop dfsadmin -refreshNodes
$HADOOP_HOME/bin/hadoop mradmin -refreshNodes
d.查看hadoop dfsadmin -report 在下架成功之前是Decommission Status : Decommission in progress
成功之后节点信息是Decommission Status : Decommissioned
我这边的下架节点的数据量大约用了10T,花费的时间大约是1--2 小时。
c.Decommission Status : Decommissioned 之后 我就删除了 /opt/hadoop-0.20.2-cdh3u6/conf/excludes
文件中的 192.168.1.143。然后再去查看 slave143 上是否还有 TaskTracker 进程 ,如果有则杀掉。
2.修复磁盘
a.umount所有的磁盘
b.fsck 所有的磁盘
c.换掉坏掉的磁盘(如果e2fsck不能修复的话)
d.因为这个节点的数据遗失的太久,并且个别磁盘的数据也无法找回或者需要很大的代价找回 所以我选择了清空这个机器上所以数据,
hdfs-site.xml 配置下 dfs.data.dir 指定的数据;
mapred-site.xml配置下 mapred.local.dir 指定的数据
3.节点上架
a.刷新节点信息
$HADOOP_HOME/bin/hadoop dfsadmin -refreshNodes
b.启动slave143的datanode && tasktracker
$HADOOP_HOME/bin/hadoop-daemon.sh start datanode $HADOOP_HOME/bin/hadoop-daemon.sh start tasktracker
c.数据平衡
$HADOOP_HOME/bin/start-balancer.sh -threshold 5