hadoop使用root用户启动节点

如果直接使用root用户去启动节点,会提示

[root@s161 hadoop]# start-dfs.sh
Starting namenodes on [s161]
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 [s161]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.

这是因为hadoop现版本为了安全考虑禁止了直接使用root去启动节点
想要解决只需要在启动前运行配置hadoop env即可

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"

这样操作虽然临时解决了不允许root启动节点的问题,但是重启终端环境还是会恢复,可以直接在hadoop-env.sh文件中添加上述代码。

Sitemap · Rss

津ICP备2021004480号-3