当前位置: 代码网 > it编程>前端脚本>Powershell > Hadoop运行报ERROR: Attempting to operate on hdfs as root或者HDFS_ZKFC_USER defined错误的解决方法

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

2024年08月01日 Powershell 我要评论
修改start-yarn.sh和stop-yarn.sh。修改start-dfs.sh和stop-dfs.sh。使用root账号启动服务,但没预先定义。修改后重新启动Hadoop就成功了!欢迎start,欢迎评论,欢迎指正。

每日一句正能量

报错显示

  配置完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就成功了!

结语

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

转载自:
欢迎start,欢迎评论,欢迎指正

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com