Почему у моего приложения пряжи нет журналов даже при включенном ведении журналов?
Я включил журналы в файле XML: yarn-site.xml
и я перезапустил yarn
при выполнении:
sudo service hadoop-yarn-resourcemanager restart
sudo service hadoop-yarn-nodemanager restart
Я запустил свое приложение, а затем я вижу applicationID
в yarn application -list
, Итак, я делаю это: yarn logs -applicationId <application ID>
и я получаю следующее:
hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/ does not have any log files
Нужно ли менять какую-то другую конфигурацию? Или я обращаюсь к журналам неправильно?
Спасибо.
5 ответов
yarn application -list
будет перечислять только те приложения, которые находятся в состоянии SUBMITTED, ACCEPTED или RUNNING.
Агрегирование журналов собирает журналы каждого контейнера и перемещает эти журналы в каталог, настроенный в yarn.nodemanager.remote-app-log-dir
только после заполнения заявки. См. Описание yarn.log-aggregation-enable
недвижимость здесь.
Итак applicationId
перечисленные командой еще не завершены и журналы еще не собраны. Таким образом, ответ при попытке получить доступ к журналам работающего приложения
hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/ does not have any log files
Вы можете попробовать ту же команду yarn logs -applicationId <application ID>
просматривать журналы после завершения приложения.
Чтобы перечислить все ЗАВЕРШЕННЫЕ приложения, используйте
yarn application -list -appStates FINISHED
Или перечислить все приложения
yarn application -list -appStates ALL
В версии 2.3.2 hadoop и выше вы можете заставить агрегировать журналы ежечасно при выполнении заданий, используя эту конфигурацию в yarn-site.xml:
<property>
<name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
<value>3600</value>
</property>
См. Это для получения дополнительной информации: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.2/bk_yarn_resource_mgt/content/ref-375ff479-e530-46d8-9f96-8b52dadb5183.1.html
Включить агрегирование журналов
Агрегация журналов включена в yarn-site.xml
файл. Свойство yarn.log-aggregation-enable включает агрегирование журналов для запущенных приложений.
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
Вероятно, он был сохранен с другим appOwner. Вы можете попытаться указать владельца приложения в вашей команде:
журналы пряжи -appOwner .. -application_id ..
ОСНОВНАЯ ПРИЧИНА . Если включено объединение журналов, журналы приложений каждого пользователя по умолчанию будут помещены в каталог hdfs:///app-logs//logs/<APPLICATION_ID>. По умолчанию только пользователь, отправивший задание, и члены группы hadoop будут иметь доступ к чтению файлов журнала. В приведенном ниже примере списка каталогов вы можете видеть, что разрешения равны 770. Нет доступа ни для кого, кроме владельца и членов группы hadoop.
[root@mycluster ~]$ hdfs dfs -ls /app-logs
Found 3 items
drwxrwx--- - hive hadoop 0 2017-03-10 15:33 /app-logs/hive
drwxrwx--- - user1 hadoop 0 2017-03-10 15:37 /app-logs/user1
drwxrwx--- - spark hadoop 0 2017-03-10 15:39 /app-logs/spark
РЕШЕНИЕ . Приведенное выше сообщение может быть обманчивым и не обязательно означает, что объединение журналов не включено. Чтобы получить журналы пряжи для приложения, команду «журналы пряжи» необходимо выполнить от имени пользователя, подавшего заявку. В приведенном ниже примере заявка была отправлена пользователем user1. Если мы выполним ту же команду, что и выше, для пользователя «user1», мы должны получить следующий вывод, если включена агрегация журналов.
yarn logs -applicationId application_1473860344791_0001
16/09/19 23:10:33 INFO impl.TimelineClientImpl: Timeline service address: http://mycluster.somedomain.com:8188/ws/v1/timeline/
16/09/19 23:10:33 INFO client.RMProxy: Connecting to ResourceManager at mycluster.somedomain.com/192.168.1.89:8050
16/09/19 23:10:34 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
16/09/19 23:10:34 INFO compress.CodecPool: Got brand-new decompressor [.deflate]
Container: container_e03_1473860344791_0001_01_000001 on mycluster.somedomain.com_45454
LogType:stderr
Log Upload Time:Wed Sep 14 09:44:15 -0400 2016
LogLength:0
Log Contents:
End of LogType:stderr
СПРАВКА . В следующем документе описывается, как использовать агрегацию журналов для сбора журналов для долго работающих приложений YARN. http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.0/bk_yarn-resource-management/content/ch_log_a.. .