gpt4 book ai didi

hadoop - 调试 Apache Slider 包?

转载 作者:可可西里 更新时间:2023-11-01 16:10:43 24 4
gpt4 key购买 nike

我完成了 Slider Memcached 教程并且能够成功打包/部署/启动 memcached 容器;然而,当我打包一个自定义应用程序时,基本上是一个 Java jar 加上依赖项,容器从未成功启动。

应用程序页面显示应用程序处于 FINISHED/FAILED 状态,并带有以下诊断信息: http://quickstart.cloudera:8088/cluster/app/application_1439926335194_0001

诊断:应用程序实例不稳定:- 失败,组件 MYAPP“最近”失败 6 次(启动时 4 次);阈值为 5 - 最后一次失败:主机 quickstart.cloudera (0) 上的失败容器_1439926335194_0001_01_000008: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

slider 有一个故障排除页面,表明您可以在应用程序完成后保留日志: http://slider.incubator.apache.org/docs/troubleshooting.html

配置 YARN 以更好地调试一种有助于调试的配置是告诉节点管理器在容器完成后将数据保留一小段时间

<!-- 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>

并且我在Yarn - Configuration - NodeManager Base Group - Advanced - Localized Dir Delection Delay中找到了这个设置,并将其从默认的0改为1200;然而,即使在我部署客户端配置并重新启动 Nodemanager + Yarn,甚至重新启动虚拟机之后,日志仍会在容器完成时被删除。

我正在处理 CDH 5.3.0 Vitrualbox VM 镜像,当我启动程序包时,集群 + 服务似乎正常工作。

编辑:

我在日志中看到的唯一错误是:

角色实例RoleInstance失败

2015-08-19 10:59:21,819 [AMRM 回调处理线程] 错误 appmaster.SliderAppMaster - 角色实例 RoleInstance{role='SIMHASH', id='container_1439926335194_0002_01_000003', container=ContainerID=container_1439926335=20ck_cloud.start_1439926335 :8041 http=quickstart.cloudera:8042 priority=1073741825 resource=, createTime=1440007115649, startTime=1440007115674, released=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-路径/registry/users/c4/services/org-apache-slider/simhash1 >/slider-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/slider-agent/", LC_ALL="en_US.UTF-8", SLIDER_PASSPHRASE="8R9ZPw3aZ20GFydi3OqvEtwYhh1qzfQBmWv6BjXepg3PCcyS8m", LANG="en_US.UTF-8"]} 失败

最佳答案

简答题

查看容器日志以获取正在运行的应用程序的输出。

详细信息:

我通过容器 Web UI 找到了容器日志(在 Cloudera VM 上是 http://quickstart.cloudera:8042/node/allContainers)

我的应用程序有 2 个容器,第一个只显示我之前查看的日志,指示容器是成功还是失败;第二个有许多有用信息的日志(命令/错误/ slider 代理/status_command)。

它们是短暂的,但我能够在应用程序终止之前查看它们。

slider-agent.out 中只有这一行:

找不到记录器“root”的处理程序

但是 slider-agent.log 为我提供了我正在寻找的信息,基本上是执行 Java 命令行的 stderr/stdout,因此非常有帮助。

INFO 2015-08-19 14:07:28,422 AgentToggleLogger.py:40 - 队列结果:{'componentStatus': [], '报告':[{'actionId':u'4-1', 'clusterName': u'myapp1', '退出代码':1, 'reportResult':是的, '角色':u'MYAPP', 'roleCommand':u'START', '服务名称':u'myapp1', '状态':'失败', 'stderr': '2015-08-19 14:07:28,268 - 执行命令时出错 ..., 'stdout': '2015-08-19 14:07:23,261 - 执行[\'/usr/java/latest/bin/java -Xmx256m -classpath ..., “结构化输出”:“{}”, 'taskId': 4}]}

关于hadoop - 调试 Apache Slider 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32082378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com