child.java.opts,java – 无头环境中的MapReduce作业由于容器启动的AM容器异常而失败了N次...

在MacOSX中运行地图减少无头环境中的作业时(例如,当作为特定用户ssh时运行作业时),我得到以下异常或类似的东西……

2013-12-04 15:08:28,513 WARN org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger: USER=hadoop OPERATION=Application Finished - Failed TARGET=RMAppManager RESULT=FAILURE DESCRIPTION=App Failed with state: Failed PERMISSIONS=Application application_1386194876944_0001 Failed 2 times due to AM Container for appattempt_1386194876944_0001_000002 exited with exitCode: 1 due to: Exception from container-launch:

org.apache.hadoop.util.Shell$ExitCodeException:

at org.apache.hadoop.util.Shell.runCommand(Shell.java:464)

at org.apache.hadoop.util.Shell.run(Shell.java:379)

at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589)

at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:195)

at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:283)

相反,如果我以该用户身份登录,则不会发生错误并且MR作业将运行结束,而标记为“MRAppMaster”的Java图标会在Dock中弹出.

我已经将其缩小到ResourceManager,启动Java进程而不传递-Djava.awt.headless = true.在无头环境中发生这种情况时,JVM无权在根窗口中显示.这已经出现在其他一些情况下,我已经纠正了每一个.

这不是权限问题(在别处建议的东西)或缺少目录.

但是我不知道如何影响最后一次未经许可访问根窗口的违规行为.

我已将-Djava.awt.headless = true选项添加到以下内容:

> hadoop-env.sh中的HADOOP_OPTS

> mapred-env.sh中的HADOOP_JOB_HISTORYSERVER_OPTS YARN_OPTS in

yarn-env.sh

> yarn-env.sh中的YARN_RESOURCEMANAGER_OPTS(尽管如此

可能会重复YARN_OPTS

> mapred.{map | reduce} .child.java.opts

和mapred.child.java.opts在mapred-site.xml中

我错过了什么?我最好将它添加到全球的Java选项中吗?

仅供参考,这仅仅是Mac OS X 10.8.5上的伪群集设置,运行从Apache 1.6.0_65-b14下载的Hadoop 2.2.0.我没有使用Homebrew或任何其他发行版.我正在使用WordCount示例测试伪群集.

谢谢.

好. Mea culpa.我终于找到了要添加的所有设置…在mapred-default.xml配置说明中搜索所有“opt”条目.

他们在这里……

mapred.child.java.opts

-Djava.awt.headless=true

yarn.app.mapreduce.am.command-opts

-Djava.awt.headless=true -Xmx1024m

yarn.app.mapreduce.am.admin-command-opts

-Djava.awt.headless=true

我还尝试通过将参数添加到/ etc / profile中的_JAVA_OPTIONS来完成同样的事情.除非运行MRAppMaster,否则Java会把它拿起来!

希望这有助于其他人.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值