1.Namenode岩机处理:重启集群无法恢复的情况下
这时候解决的办法很简单,把namenode镜像存储的路径下内容删除掉,再把secondnamenode镜像存储的路径下内容拷贝过来,重启即可。
默认namenode镜像存储的路径是 /opt/hdfs/dfs/name
默认secondnamenode镜像存储的路径 /opt/hdfs/dfs/namesecondary
2.坏Block解决方式
hadoop出现坏块后(如低版本的hadoop更换块大小的时候容易出现坏块),自身可以缓慢的修复,但是速度十分的缓慢。
发生坏块后Namenode日志:The
reported blocks 211655 needs additional 4687 blocks to reach the threshold 0.9990 of total blocks 216559.
Safe mode will be turned off automatically
(日志的意思是需要增加4687 个块才能达到指定的阀值0.9990)
并且状态始终在safe mode模式
可以使用hadoop fsck / -delete 删除坏块
删除坏块之后重启
3.单机存储均衡
hadoop自身有Blancer,可以进行存储均衡,但是这只是均衡总体的,并不能均衡单机不同磁盘的存储。比如说一台节点有两块硬盘分区,第一个利用率达到了90%,另一个利用率只达到5%,这时候总体的利用率可能不会很高,利用Blancer可能不会进行存储均衡,这时候就需要手工进行存储的迁移。
df -k //查看磁盘的大小和利用率
注意:新添加一块磁盘后,加入hadoop存储集群的时候还需要对配置文件进行修改
hdfs-site.xml
<property>
<name>dfs.data.dir</name>
<value> /opt/hdfs/dfs/data, /opt2/hdfs</value>
</property>
首先先stop集群
cd /opt/hdfs/dfs/data/current
mv ./* /opt2/hdfs/current/
//注意:在迁移的时候一定要和原来的目录结构保持一致,否则会出错。
df -k //再次查看
再start集群