文章目录
- 问题解决
- 1. ERROR: but there is no HDFS_NAMENODE_USER defined
- 2. JAVA_HOME is not set and could not be found.
- 3. Hadoop-DFS页面访问不了
- 4. namenode格式化失败,或者dfs页面打开失败
- 5. ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
问题解决
1. ERROR: but there is no HDFS_NAMENODE_USER defined
设置启动HDFS_NAMENODE_USER的环境变量,即系统谁来启动hdfs应用
# 编辑系统环境变量文件
vim /etc/profile
# ============================
# 文件末尾添加如下字符 profile
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
export HDFS_NAMENODE_USER HDFS_DATANODE_USER HDFS_SECONDARYNAMENODE_USER YARN_RESOURCEMANAGER_USER YARN_NODEMANAGER_USER
# ============================
# 使环境变量生效
source /etc/profile
2. JAVA_HOME is not set and could not be found.
虽然使用echo $JAVA_HOME 能输出jdk目录,但启动hadoop时依然报这个错,可以选择在hadoop的环境变量配置文件中写死jdk目录,从而避免这个报错
修改hadoop-env.sh文件: vim /opt/module/hadoop-3.3.6/etc/hadoop/hadoop-env.sh
//使用你自己服务器JDK所在的目录
export JAVA_HOME=/www/server/jdk8/jdk1.8.0_202
修改yarn-env.sh文件: vim /opt/module/hadoop-3.3.6/etc/hadoop/yarn-env.sh
//使用你自己服务器JDK所在的目录
export JAVA_HOME=/www/server/jdk8/jdk1.8.0_202
3. Hadoop-DFS页面访问不了
新版本的NameNode默认端口9870,而不是老版本的50070,自行看文档中每个版本的hdfs-default.xml的【
dfs.namenode.http-address】属性默认值
4. namenode格式化失败,或者dfs页面打开失败
//1. 进程杀死:删掉下面命令的SecondaryNameNode、NameNode、DataNode进程
jps
//2. 删除data目录、以及数据目录 == 进程必须先杀死,否则即使删了下面两个目录也会又重新出现
不同hadoop版本的默认data目录不行:自行查看每个版本的hdfs-site.xml的【dfs.datanode.data.dir】的设置
rm -rf /opt/module/hadoop-3.3.6/tmp/dfs/data
rm -rf /opt/module/hadoop-3.3.6/logs
//格式化NameNoe节点 == 如果是dfs集群,仅需格式化主节点机器就行,其他节点无需格式化,否则会有问题
hdfs namenode -format
5. ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
设置启动YARN的环境变量,即系统谁来启动yarn应用
# 编辑系统环境变量文件
vim /etc/profile
# ============================
# 文件末尾添加如下字符 profile
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
export HDFS_NAMENODE_USER HDFS_DATANODE_USER HDFS_SECONDARYNAMENODE_USER YARN_RESOURCEMANAGER_USER YARN_NODEMANAGER_USER
# ============================
# 使环境变量生效
source /etc/profile