企图用root用户,在hdfs的 namenode中进行操作,但是呢,HDFS_NAMENODE_USER 相关没有定义。
网上查询了一下,大概就是我们用root用户操作,没有在环境变量中定义变量。那么定义好了。
解决:
方式一
1、编辑环境变量,添加定义变量
vim /etc/profile # 文件中添加以下内容 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
2、刷新
source /etc/profile
方式二
除此之外,可以自定义环境变量文件
例如:
vim /etc/profile.d/myEnv.sh ## 添加如下变量, 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
刷新即可
source /etc/profile
为什么这样也可以呢??
查看/etc/profile文件可以看到,遍历的就算profile.d下的sh文件