Hadoop学习3:问题解决

时间:2024-03-13 12:02:20

文章目录

    • 问题解决
      • 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

在这里插入图片描述

相关文章