hadoop使用root用户启动节点
🕙2023-06-22
如果直接使用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
文件中添加上述代码。