解决启动datanode失败或无法启动问题
问题产生原因:
当我们执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.namenode.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录clusterID,标识了所格式化的 namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。
解决问题:
1、首先,我们需要对对节点的停止
[root@localhost hadoop-2.7.2]# ./sbin/stop-dfs.sh
2、接着,在文件系统格式化之前,先把Hadoop解压目录有tmp文件删除
[root@localhost data]# rm -rf tmp/
3、当确定把tmp文件删除完毕之后,我们就可以对文件系统进行格式化
[root@localhost hadoop-2.7.2]# ./bin/hdfs namenode -format
19/11/17 15:07:56 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = localhost/127.0.0.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.7.2
.....
19/11/17 15:07:57 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/
4、当格式化完成之后,我们需要对节点的启动
[root@localhost hadoop-2.7.2]# ./sbin/start-dfs.sh
5、当我们,启动完成之后,对datanode节点的查看,执行:jps
[root@localhost hadoop-2.7.2]# jps
14966 Jps
14696 DataNode
由上面可知,DataNode节点正常启动了!
6、我们可以对其端口的排除,执行: netstat -tpnl | grep java
[root@localhost hadoop-2.7.2]# netstat -tpnl | grep java
tcp 0 0 192.168.219.7:9000 0.0.0.0:* LISTEN 10320/java
tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 9123/java
tcp 0 0 127.0.0.1:44465 0.0.0.0:* LISTEN 14696/java
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 10320/java
tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 14696/java
tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 14696/java
tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 14696/java
[root@localhost hadoop-2.7.2]#
由上面可知,50070端口可以运行,而80080却没有运行!
这时,我们还需要启动:
NameNode、 NodeManager、ResourceManager节点
参照自己写的博客
伪分布式配置
注意的是:
我们的tmp文件不需要创建的
格式化后会自动会自动帮我们创建tmp文件的里面有其他的日志文件数据
比如配置:core-site.xml
重新格式化:
root@hadoop100 hadoop-2.7.2]# hadoop namenode -format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
19/11/17 23:47:58 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
....
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop100/192.168.219.7
************************************************************/
启动命令:
[root@hadoop100 hadoop-2.7.2]# start-all.sh
查看进程的端口号:
[root@hadoop100 hadoop-2.7.2]# netstat -tpnl | grep java
tcp 0 0 192.168.219.7:9000 0.0.0.0:* LISTEN 8505/java
tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 8784/java
tcp 0 0 127.0.0.1:46389 0.0.0.0:* LISTEN 8631/java
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 8505/java
tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 8631/java
tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 8631/java
tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 8631/java
tcp6 0 0 :::8040 :::* LISTEN 9213/java
tcp6 0 0 :::8042 :::* LISTEN 9213/java
tcp6 0 0 192.168.219.7:8088 :::* LISTEN 8929/java
tcp6 0 0 :::37241 :::* LISTEN 9213/java
tcp6 0 0 :::13562 :::* LISTEN 9213/java
tcp6 0 0 192.168.219.7:8030 :::* LISTEN 8929/java
tcp6 0 0 192.168.219.7:8031 :::* LISTEN 8929/java
tcp6 0 0 192.168.219.7:8032 :::* LISTEN 8929/java
tcp6 0 0 192.168.219.7:8033 :::* LISTEN 8929/java
关闭防火墙
[root@hadoop100 hadoop-2.7.2]# systemctl stop firewalld.service
再次访问虚拟主机+50070
再次访问虚拟主机+8088