hadoop datanode 磁盘坏掉之后的解决办法

本文详细介绍了Hadoop集群中因坏掉的磁盘导致的部分功能失效问题及其解决过程。主要内容包括通过调整配置文件隔离故障节点、更换磁盘、重新配置节点并实现数据平衡等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前发了一篇文章:

http://blog.youkuaiyun.com/lxpbs8851/article/details/17241551

记录的是由于开启了 坏掉磁盘的datanode,导致集群部分功能无法使用的现象。

上次的解决办法是 直接暴力kill掉了坏掉磁盘的DataNode && TaskTracker

修复的节点记录为 slave143

过程如下:

1.下线slave143:

a.修改$HADOOP_HOME/conf/hdfs-site.xml文件

添加配置 dfs.hosts.exclude

<property>
<name>dfs.hosts.exclude</name>
<value>/opt/hadoop-0.20.2-cdh3u6/conf/excludes</value>
<description>Names 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.</description>
</property>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值