client_111111 2023-09-24 21:42 采纳率: 0%
浏览 49

安装hadoop时只有切换为root用户才能启动node

安装Hadoop时,进行到“执行/usr/local/hadoop目录下的sbin/start-dfs.sh文件”时,怎么也无法启动namenode 与datanode(输入jps查看进程时只输出一个jps,且重启也没有反应),查看提示信息,1、chown: 正在更改"/usr/local/hadoop/logs" 的所有者: 不允许的操作;2、无法打开"/usr/local/hadoop/logs/hadoop-hadoop-datanode-master.out" 读取数据: 没有那个文件或目录),我打开日志目录查看日志,发现里面的日志文件名都是hadoop-root-namenode(略)等而不是hadoop-hadoop-namenode(略) ,然后切换成root用户,就能启动namenode和datanode 了
参考教程 https://dblab.xmu.edu.cn/blog/190/

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-24 23:33
    关注

    引自免费应用 皆我百晓生 小程序,希望对题主有所帮助,如有帮助,还请采纳。


    这个问题是因为在安装Hadoop时,使用的是非root用户进行安装并启动节点。当使用非root用户执行start-dfs.sh脚本时,由于权限的问题无法更改logs文件夹的所有者。这导致了无法启动namenode和datanode。

    为了解决这个问题,可以尝试以下两个方法:

    1. 使用root用户重新设置logs文件夹的所有者:

      sudo chown -R <非root用户名>:<非root用户组名> /usr/local/hadoop/logs
      

      然后再使用非root用户执行start-dfs.sh脚本。

    2. 使用root用户重新安装Hadoop并启动节点:

      • 删除之前非root用户安装的Hadoop文件夹:
        sudo rm -rf /usr/local/hadoop
        
      • 使用root用户重新安装Hadoop:
        sudo tar -zxvf hadoop-x.x.x.tar.gz -C /usr/local
        sudo chown -R <非root用户名>:<非root用户组名> /usr/local/hadoop
        
      • 切换回非root用户,执行start-dfs.sh脚本启动节点。

    这两种方法都可行,选择适合你的情况的方法来解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月24日