Hadoop运行报ERROR: Attempting to operate on hdfs as root或者HDFS_ZKFC_USER defined错误的解决方法

每日一句正能量

  每天给自己一个希望,不为明天烦恼,不为昨天叹息,只为今天更美好;每天给自己一份潇洒,不为明天担忧,不为昨天懊恼,只为今天更快乐,早安,朋友!

报错显示

  配置完Hadoop,启动hadoop集群运行时报了以下错误信息:

Starting namenodes on [master]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.

Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.

Starting secondary namenodes
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

Starting journal nodes
ERROR: Attempting to operate on hdfs journalnode as root
ERROR: but there is no HDFS_JOURNALNODE_USER defined. Aborting operation.

Starting ZK Failover Controllers on NN hosts
ERROR: Attempting to operate on hdfs zkfc as root
ERROR: but there is no HDFS_ZKFC_USER defined. Aborting operation.

错误原因

使用root账号启动服务,但没预先定义

解决办法

首先进入hadoop/sbin目录,然后按照一下步骤进行修改。

  1. 修改start-dfs.shstop-dfs.sh

    cd /export/servers/hadoop/sbin
    vim start-dfs.sh
    vim stop-dfs.sh
    
  2. 在头部添加以下内容:

    HDFS_ZKFC_USER=root
    HDFS_JOURNALNODE_USER=root
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root
    HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=root
    #HADOOP_SECURE_DN_USER=root
    
  3. 修改start-yarn.shstop-yarn.sh

    cd /export/servers/hadoop/sbin
    vim start-yarn.sh
    vim stop-yarn.sh
    
  4. 在头部添加以下内容:

    #HADOOP_SECURE_DN_USER=root
    HDFS_DATANODE_SECURE_USER=root
    YARN_NODEMANAGER_USER=root
    YARN_RESOURCEMANAGER_USER=root
    
  5. 同步到其它机器

    cd /export/servers//hadoop/sbin
    scp * spark02:/export/servers/hadoop/sbin
    scp * spark03:/export/servers/hadoop/sbin
    

注意:该步骤需要在每台机器中都执行,也可以先在其中一台机器中修改,然后再用scp同步给其它机器,还需要注意报错之中都分别报了有哪些需要添加root用户或者其它用户,没有的可以自己加上。

修改后重新启动Hadoop就成功了!

结语

  每个人刚开始学习的时候都是小白,这个过程中或多或少的都会看看别人写的博客,过程中也可能会踩过很多坑。遇到问题的时候,我们可以记录下来,不管是对自己还是对其他学习的小伙伴都很有帮助。程序员大多都是很孤独的,写作也可以让自己的孤独“有处安放”,多去表达,多点表达,对于不善言辞的程序员总是有很多好处,博文写作的过程中最重要的是思路清晰有条理,和敲代码最大的不同是,编程有了明确的目标,日复一日必成高手,而写作如果只是为了写而写,往往会失了初心,丢了本真。写作不仅可以提高言语表达能力,更可以培养持续做事情的毅力,最好得是能遇到很多志同道合的朋友。

转载自:https://blog.csdn.net/u014727709/article/details/131310251
欢迎start,欢迎评论,欢迎指正

  • 33
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 32
    评论
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想你依然心痛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值