启动hadoop集群没有SecondaryNode和DataNode和NameNode的解决方法

2024-11-16 1

进行以下操作时别忘记先关闭Hadoop集群

一. 没有SecondaryNode的解决方案

启动hadoop集群后没有SecondaryNode:

给hadoop集群配置环境变量时,在node1、node2、node3修改/etc/profile 忘记执行source /etc/profile生效

1
source /etc/profile

启动Hadoop集群再jps检查进程

1
2
3
4
5
6
7
8
9
10
11
# 一键启动hdfs集群
 
start-dfs.sh
 
# 一键关闭hdfs集群
 
stop-dfs.sh
 
# 检查进程
 
jps

这样就有了SecondaryNode进程

二. 没有DataNode的解决方案

启动hadoop集群后没有DataNode:

以root用户或权限 删除到Hadoop安装目录下的logs下的所有文件

再删除data下的nn下的所有文件和data下的dn下的所有文件

1
2
rm -rf /export/server/hadoop/logs/*
rm -rf /data/nn/* ; rm -rf /data/dn/*

删除完后记得回到hadoop用户(我是新建了个hadoop用户防止以root用户启动hadoop出现问题)格式化namenode再启动hadoop集群

1
2
3
4
5
6
7
8
9
10
11
# 格式化namenode
 
hadoop namenode -format
 
# 一键启动hdfs集群
 
start-dfs.sh
 
# 一键关闭hdfs集群
 
stop-dfs.sh

如果不格式化namenode就会出现如下情况(namenode进程未启动)

三. 没有NameNode的解决方案

启动hadoop集群后没有NameNode:

格式化namenode再启动hadoop集群

1
2
3
4
5
6
7
8
9
10
11
# 格式化namenode
 
hadoop namenode -format
 
# 一键启动hdfs集群
 
start-dfs.sh
 
# 一键关闭hdfs集群
 
stop-dfs.sh

至此Hadoop成功启动