Hadoop Thread-daemon.sh写入HDP中的错误日志目录

Hadoop Thread-daemon.sh写入HDP中的错误日志目录,hadoop,hortonworks-data-platform,resourcemanager,Hadoop,Hortonworks Data Platform,Resourcemanager,我已经在笔记本电脑上安装了Hortonworks HDP版本2.2.4.2-2。我已经启动了HDFS服务,例如名称节点、辅助名称节点和所有数据节点。我可以通过名称节点web界面浏览HDFS。问题在于资源管理器。HDP伴随文件为HADOOP\u LIBEXEC\u DIR设置了错误的值。它被设置为/usr/lib/hadoop/libexec,这是错误的。正确的地址是:/usr/hdp/2.2.4.2-2/hadoop/libexec。更改此参数并使用此命令启动资源管理器(使用warnuser)后

我已经在笔记本电脑上安装了Hortonworks HDP版本2.2.4.2-2。我已经启动了HDFS服务,例如名称节点、辅助名称节点和所有数据节点。我可以通过名称节点web界面浏览HDFS。问题在于资源管理器。HDP伴随文件为
HADOOP\u LIBEXEC\u DIR
设置了错误的值。它被设置为
/usr/lib/hadoop/libexec
,这是错误的。正确的地址是:
/usr/hdp/2.2.4.2-2/hadoop/libexec
。更改此参数并使用此命令启动资源管理器(使用
warn
user)后:

它显示错误:

mkdir: cannot create directory `/var/log/hadoop-yarn': Permission denied
chown: cannot access `/var/log/hadoop-yarn/yarn': No such file or directory
mkdir: cannot create directory `/var/run/hadoop-yarn': Permission denied
starting resourcemanager, logging to /var/log/hadoop-yarn/yarn/yarn-yarn-resourcemanager-rm.hdp.local.out
/usr/hdp/current/hadoop-yarn-resourcemanager/sbin/yarn-daemon.sh: line 129: cd: /usr/lib/hadoop-yarn: No such file or directory
/usr/hdp/current/hadoop-yarn-resourcemanager/sbin/yarn-daemon.sh: line 131: /var/run/hadoop-yarn/yarn/yarn-yarn-resourcemanager.pid: No such file or directory
/usr/hdp/current/hadoop-yarn-resourcemanager/sbin/yarn-daemon.sh: line 130: /var/log/hadoop-yarn/yarn/yarn-yarn-resourcemanager-rm.hdp.local.out: No such file or directory
head: cannot open `/var/log/hadoop-yarn/yarn/yarn-yarn-resourcemanager-rm.hdp.local.out' for reading: No such file or directory
/usr/hdp/current/hadoop-yarn-resourcemanager/sbin/yarn-daemon.sh: line 135: /var/log/hadoop-yarn/yarn/yarn-yarn-resourcemanager-rm.hdp.local.out: No such file or directory
/usr/hdp/current/hadoop-yarn-resourcemanager/sbin/yarn-daemon.sh: line 136: /var/log/hadoop-yarn/yarn/yarn-yarn-resourcemanager-rm.hdp.local.out: No such file or directory
问题是
线程守护进程。根据我的环境变量,sh
使用了错误的日志目录:

[yarn@rm ~]$ echo ${YARN_LOCAL_DIR}
/hadoop/yarn/local
[yarn@rm ~]$ echo ${YARN_LOG_DIR}
/var/log/hadoop/yarn
[yarn@rm ~]$ echo ${YARN_LOCAL_LOG_DIR}
/hadoop/yarn/logs
[yarn@rm ~]$ echo ${YARN_PID_DIR}
/var/run/hadoop/yarn
这真的是一个bug还是我做错了什么?

Majid

您正在使用的启动脚本,即/usr/hdp/current/hadoop warn resourcemanager/sbin/warn-daemon.sh,在您的案例中,用于获取位于您指定的配置目录中的warn-env.sh脚本

--config/etc/hadoop/conf

这些环境变量很可能在该脚本中被重写。如果您使用的是Hortonwork提供的配套文件,则这些文件确实被更改为:

export YARN_LOG_DIR=/var/log/hadoop-yarn/$USER
export YARN_PID_DIR=/var/run/hadoop-yarn/$USER
export HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec
最好将/etc/hadoop/warn-env.sh脚本中的这些值更改为所需的值,然后重试

export YARN_LOG_DIR=/var/log/hadoop-yarn/$USER
export YARN_PID_DIR=/var/run/hadoop-yarn/$USER
export HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec