`
BlackWing
  • 浏览: 196457 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解决Exception from container-launch: ExitCodeException exitCode=1的另类错误

阅读更多
转载请标明出处:http://blackwing.iteye.com/blog/2107107

环境为hadoop2.2,在linux下运行自己的job,报如下错误:

Exception from container-launch: ExitCodeException exitCode=1: 
ExitCodeException exitCode=1: 
        at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)
        at org.apache.hadoop.util.Shell.run(Shell.java:455)
        at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702)
        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:300)
        at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Container exited with a non-zero exit code 1


但运行自带wordcount却能正常执行。google了很久,无非都是建议在mapred-site.xml中增加:
<property>
       <name>mapreduce.application.classpath</name>
       <value>
            /usr/local/cluster/hadoop-2.2.0/etc/hadoop,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/common/*,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/common/lib/*,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/hdfs/*,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/hdfs/lib/*,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/mapreduce/*,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/mapreduce/lib/*,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/yarn/*,
            /usr/local/cluster/hadoop-2.2.0/share/hadoop/yarn/lib/*
       </value>
</property>

但是问题依旧。从log中发现一个奇怪的输出:
Improperly specified VM option 'PretenureSizeThreshold'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

立刻想到自己设置的mapred.child.java.opts参数,其中就有PretenureSizeThreshold,原来是不支持这个参数导致。修改后就能正确运行,居然折腾了很久。
分享到:
评论
4 楼 BlackWing 2015-05-27  
日志是job运行日志,看你怎么配置了,一般就在hadoop安装目录下的logs下面。
jvm运行参数是通过mapreduce.map.java.opts配置的,之后加载到job初始化就能生效。

heymaomao 写道
heymaomao 写道
有两个问题,想请教下楼主

第一是日志楼主到底看的是哪个日志文件?

第二是 那句 修改后,到底是如何修改的?

如能回答,非常感谢


需要说一下的是,你配的这个是错的
mapreduce.application.classpath
请看官网
http://hadoop.apache.org/docs/r2.4.1/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
3 楼 heymaomao 2015-05-19  
heymaomao 写道
有两个问题,想请教下楼主

第一是日志楼主到底看的是哪个日志文件?

第二是 那句 修改后,到底是如何修改的?

如能回答,非常感谢


需要说一下的是,你配的这个是错的
mapreduce.application.classpath
请看官网
http://hadoop.apache.org/docs/r2.4.1/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
2 楼 heymaomao 2015-05-19  
有两个问题,想请教下楼主

第一是日志楼主到底看的是哪个日志文件?

第二是 那句 修改后,到底是如何修改的?

如能回答,非常感谢

1 楼 atomduan 2014-08-23  
本地的Unix 进程创建失败,检查下服务器内存是否够用,是不是被hadoop以外的其他进程吃掉了。

相关推荐

Global site tag (gtag.js) - Google Analytics