安装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/
安装hadoop时只有切换为root用户才能启动node
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注引自免费应用
皆我百晓生小程序,希望对题主有所帮助,如有帮助,还请采纳。
这个问题是因为在安装Hadoop时,使用的是非root用户进行安装并启动节点。当使用非root用户执行start-dfs.sh脚本时,由于权限的问题无法更改logs文件夹的所有者。这导致了无法启动namenode和datanode。
为了解决这个问题,可以尝试以下两个方法:
使用root用户重新设置logs文件夹的所有者:
sudo chown -R <非root用户名>:<非root用户组名> /usr/local/hadoop/logs然后再使用非root用户执行start-dfs.sh脚本。
使用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脚本启动节点。
- 删除之前非root用户安装的Hadoop文件夹:
这两种方法都可行,选择适合你的情况的方法来解决问题。
解决 无用评论 打赏 举报