DataNode数据节点启动不了的解决方法
------------------------------------------------------说明---------------------------------------------------------------------:
一.使用软件的版本:
VM 、 centos7、Hadoop2.7.1
(大家要注意以下要输入的命令全部要在英文输入法下输入)
(我的master是主节点slav是次节点,master和slave分别是两个系统的主机名,cgd为用户名,两个系统用户名均为cgd)
二.问题描述:
刚开始在输入./bin/start-all-sh命令后,
在master和salve下分别输入jps均显示正常,master节点有masterNode,slave节点有slaveNnode,但过了一会slaveNode就消失了,在浏览器输入master(或者主机节点的ip地址):50070里面也显示数据节点并没有开启!
这个问题我遇到两次,当次不知怎么弄好之后因为修好了,还很开心,结果等下次使用时候又回到最迟的起点不能用了。
三.解决方法:
1.在master主节点下执行./sin/stop-all-sh 关闭Hadoop服务
2.(关键命令)
在master主节点下执行 rm -r ~/hadoop/hdfs/*
(其中*代表hdfs文件下的所有数据,一般hdfs里面有name和data两个文件夹,他们记录着启动Hadoop集群相关的信息,这条命令是删nhdfs文件夹中的数据,这个路径是我自己安装Hadoop的路径,大家根据自己的目录进行相应修改)
同样在主节点下执行 rm -r ~/hadooop/tmp/ *(同上,里面记录着启动集群的相关信息)
3.在salve节点下执行同上的两条删除指令命令(删除如图两个文件夹下的所有文件)
4.重新格式化namenode节点 ./bin/hadoop namenode -format
(切记不可重复格式化,二次格式化可能造成主节点和此节点的clusterID不一,导致无法启动集群)
5.再启动集群 ./bin/start-all-sh
6.再输入jps就应该namenode和datanode节点都有了
以上是小菜问题的的解决方案(亲测可用才写出来的),请大家多多指教!