2015-08-18 4 views
1

Я прошел учебник Slider Memcached и смог успешно упаковать/развернуть/запустить контейнер memcached; однако, когда я упаковываю собственное приложение, в основном Java jar плюс зависимости, контейнер никогда не запускается успешно.Отладка пакета слайдера Apache?

На странице приложений показывает, что приложение в законченном/FAILED состояния с этим диагностика: http://quickstart.cloudera:8088/cluster/app/application_1439926335194_0001

Диагностик: Нестабильное Применение Instance: - Сбой компонентов MYAPP не удалось 'в последнее время' 6 раз (4 в запуске); порог 5 - последняя неудача: Отказ container_1439926335194_0001_01_000008 на хосте quickstart.cloudera (0): http://quickstart.cloudera:19888/jobhistory/logs//quickstart.cloudera:8041/container_1439926335194_0001_01_000008/ctx/MYUSER

Части проблемы в диагностике проблем с контейнером является то, что журналы исчезают после завершения приложения. http://quickstart.cloudera:8042/node/containerlogs/container_1439926335194_0001_01_000001/MYUSER

Существует страница поиска неисправностей для слайдера, который указывает на то, что вы можете сохраняться журналы помимо завершения приложения: http://slider.incubator.apache.org/docs/troubleshooting.html

Настройка НИТИ для лучшей отладки Одна конфигурация для облегчения отладки является сказать nodemanagers сохранить данные короткий период после того, как контейнеры закончить

<!-- 10 minutes after a failure to see what is left in the directory--> 
<property> 
    <name>yarn.nodemanager.delete.debug-delay-sec</name> 
    <value>600</value> 
</property> 

И я нашел этот параметр в Пряжа - Конфигурация - NodeManager Base Group - Advanced - Локализованный Dir Delection Задержка и изменение его по умолчанию от 0 до 1200; однако даже после развертывания клиентской конфигурации и перезапуска Nodemanager + Yarn даже перезапустите виртуальную машину, журналы все равно будут удалены при завершении контейнера.

Я работаю над CDH 5.3.0. Изображение Vitrualbox VM и службы кластера + работают нормально, когда я запускаю пакет.

EDIT:

только ошибка в журнале я вижу это:

экземпляр Роль RoleInstance не удалось

2015-08-19 10: 59: 21819 [AMRM Callback Handler Тема] ERROR appmaster.SliderAppMaster - Роль-экземпляр RoleInstance {role = 'SIMHASH', id = 'container_1439926335194_0002_01_000003', container = ContainerID = container_1439926335194_0002_01_000003 nodeID = quickstart.cloudera: 8041 http = quickstart.cloudera: 8042 priority = 1073741 825 resource =, createTime = 1440007115649, startTime = 1440007115674, release = false, roleId = 1, host = quickstart.cloudera, hostURL = http://quickstart.cloudera:8042, state = 5, placement = null, exitCode = 0, command = 'python ./infra/ agent/slider-agent/agent/main.py --label container_1439926335194_0002_01_000003___SIMHASH --zk-quorum localhost: 2181 --zk-reg-path/registry/users/c4/services/org-apache-slider/simhash1>/slider-agent/agent.out 2> & 1; ', diagnostics =' ', output = null, environment = [LANGUAGE = "en_US.UTF-8", AGENT_WORK_ROOT = "$ PWD", HADOOP_USER_NAME = "C4", AGENT_LOG_ROOT = "", PYTHONPATH = "./ infra/agent/бегунок-агент /», LC_ALL = "en_US.UTF-8", SLIDER_PASSPHRASE = "8R9ZPw3aZ20GFydi3OqvEtwYhh1qzfQBmWv6BjXepg3PCcyS8m", LANG = "en_US.UTF-8"]} не удалось

+1

Привет, в настоящее время у меня такая же проблема. Вы уже решили это? – shobull

+0

Да - проверьте ответ, который я разместил. Посмотрите на журналы контейнеров и посмотрите, решит ли он вашу проблему; если нет, LMK. Одна вещь, о которой следует помнить с помощью Slider, заключается в том, что она ожидает, что приложение будет работать до тех пор, пока оно не завершит его. Если у вас есть Java-приложение, которое выполняется, даже если оно выполняется успешно, когда оно завершается, Slider считает, что он сработал. – dr3x

+0

Моя проблема была неправильным путем для Java дома в appConfig.json. К сожалению, в журналах не было никакой информации. – shobull

ответ

0

Короткий ответ

Посмотрите на журналов контейнеров, чтобы получить выход из запущенного приложения.

Детали:

Я нашел журналы контейнера через контейнеры веб-интерфейс (на Cloudera VM это http://quickstart.cloudera:8042/node/allContainers)

Есть 2 контейнера для моего приложения, первый раз показывает журналы, которые я искал при более раннем указании, был ли контейнер успешным или неудачным; во втором - много журналов с полезной информацией (команда/errors/slider-agent/status_command).

Они временны, но я смог посмотреть на них до того, как приложение прекратилось.

слайдер agent.out только имеет эту строку в ней:

Нет обработчики не могут быть найдены в регистраторе «корневой»

Однако слайдер agent.log дал мне информацию я искал, в основном stderr/stdout от выполнения командной строки Java, так что это очень полезно.

INFO 2015-08-19 14: 07: 28,422 AgentToggleLogger.py:40 - Результат очереди: {'componentStatus': [], 'reports': [{'actionId': u'4-1 ', 'ClusterName': u'myapp1' , 'ExitCode': 1, 'reportResult': Правда, 'роль': u'MYAPP ' 'roleCommand': u'START', 'SERVICENAME': и 'myapp1', 'status': 'FAILED', 'stderr': '2015-08-19 14: 07: 28,268 - Ошибка при выполнении команды ..., ' stdout ':' 2015-08-19 14 : 07: 23,261 - Выполнить [\ '/ usr/java/latest/bin/java -Xmx256m -classpath ..., ' structuredOut ':' {} ', 'taskId': 4}]}

Смежные вопросы