启动hdfs报错:Attempting to operate on hdfs namenode as root but there is no HDFS NAMENODE USER defined.

问题:

配置好了hadoop的文件一启动就发现报错

造成原因:

这个问题呢,其实还是你的配置文件配错了,有两个配置文件的问题:

  • core-site.xml文件

  • hadoop-env.sh 文件

这两个文件都是在hadoop软件下的etc/下的配置文件

其次可能还有就是你之前就配置过hadoop,并且还修改过环境变量的文件比如说/etc/profile这个文件

解决问题

有了问题导向就可以解决问题了

首先查看一下hadoop所在的文件夹的上一个文件夹看是那个用户可以操作

我的hadoop安装的目录是在/opt/module/下的

输入

ll 或者 ls -l

可以看见这个文件夹可以操作的用户有是root

然后查看core-site.xml文件,修改以下配置

    <!-- 配置HDFS网页登录使用的静态用户为root -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>

接着还要在hadoop-env.sh文件下添加一下信息

export JAVA_HOME=/export/servers/jdk1.8.0_141/

export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"

注意export JAVA_HOME这个是你java实际安装的路径,别啥都不看就复制了

接着将这些配置文件分发到其他linux的hadoop下的/etc/hadoop/下

scp -r /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml hadoop122:/opt/module/hadoop-3.1.3/etc/hadoop/

scp -r /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml hadoop123:/opt/module/hadoop-3.1.3/etc/hadoop/

最后再检查一下/etc/profile,如果发现其中hadoop的路径与现在配置的路径相同,则不用管,否则就将原来的配置注解添加一下配置,注意所有虚拟机都要配置

vim /etc/profile
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

一样export HADOOP_HOME要是你自己hadoop所在的路径

启动成功

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值