пряжа-daemon.sh пишет в неправильный каталог журнала в HDP

Я установил Hortonworks HDP версии 2.2.4.2-2 на свой ноутбук. Я запустил службы HDFS, такие как узел имени, дополнительный узел имени и все узлы данных. Я могу просматривать HDFS через веб-интерфейс узла имен. Проблема в диспетчере ресурсов. Сопутствующие файлы HDP задают неправильное значение для HADOOP_LIBEXEC_DIR. Он был установлен на /usr/lib/hadoop/libexec, что неверно. Правильный адрес: /usr/hdp/2.2.4.2-2/hadoop/libexec. После того, как я изменил этот параметр и запустил диспетчер ресурсов с помощью этой команды (используя пользователя yarn):

/usr/hdp/current/hadoop-yarn-resourcemanager/sbin/yarn-daemon.sh --config /etc/hadoop/conf start resourcemanager

Он показывает ошибку:

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

Проблема в том, что yarn-daemon.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

Это действительно баг или я что-то не так делаю?


person Majid Azimi    schedule 26.05.2015    source источник


Ответы (1)


Маджид,

Сценарий запуска, который вы используете, т. е. /usr/hdp/current/hadoop-yarn-resourcemanager/sbin/yarn-daemon.sh, в вашем случае является источником сценария yarn-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/yarn-env.sh на нужные значения и повторить попытку.

person David Kjerrumgaard    schedule 14.07.2015