2015-10-05 114 views
0

当我运行Apache斜纹HelloWorld示例为http://twill.incubator.apache.org/GettingStarted.html说我得到这个日志:阿帕奇斜纹HelloWorld示例失败

10:44:47.888 [ STARTING] DEBUG o.a.twill.yarn.YarnTwillController - 
    Yarn application status for HelloWorldRunnable 
    application_1443786884805_0185: ACCEPTED 
10:44:48.383 [ STARTING-SendThread(hadice.dev:2181)] DEBUG org.apache.zookeeper.ClientCnxn - 
    Got ping response for sessionid: 0x15028da0ff0009d after 0ms 
10:44:48.889 [IPC Parameter Sending Thread #0] DEBUG org.apache.hadoop.ipc.Client - 
    IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root sending #45 
10:44:48.894 [IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root] 
    DEBUG org.apache.hadoop.ipc.Client - 
    IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root got value #45 
10:44:48.894 [ STARTING] DEBUG o.a.hadoop.ipc.ProtobufRpcEngine - Call: getApplicationReport took 6ms 
10:44:48.895 [ STARTING] DEBUG o.a.twill.yarn.YarnTwillController - 
    Yarn application status for HelloWorldRunnable application_1443786884805_0185: 
    ACCEPTED 
10:44:49.711 [Kafka-Consumer-log-0] DEBUG o.a.t.i.k.client.SimpleKafkaConsumer - 
    No leader for topic partition TopicPartition{topic=log, partition=0}. 
10:44:49.895 [IPC Parameter Sending Thread #0] DEBUG org.apache.hadoop.ipc.Client - 
    IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root sending #46 
10:44:49.902 [IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root] DEBUG org.apache.hadoop.ipc.Client - 
    IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root got value #46 
10:44:49.902 [ STARTING] DEBUG o.a.hadoop.ipc.ProtobufRpcEngine - Call: getApplicationReport took 7ms 
10:44:49.902 [ STARTING] DEBUG o.a.twill.yarn.YarnTwillController - 
    Yarn application status for HelloWorldRunnable application_1443786884805_0185: 
    FAILED 
10:44:50.902 [ STARTING] INFO o.a.twill.yarn.YarnTwillController - 
    Yarn application HelloWorldRunnable application_1443786884805_0185 is in state 
    FAILED 
10:44:50.903 [ STARTING] INFO o.a.twill.yarn.YarnTwillController - 
    Yarn application HelloWorldRunnable application_1443786884805_0185 is not in running state. Shutting down controller. 
10:44:50.907 [IPC Parameter Sending Thread #0] DEBUG org.apache.hadoop.ipc.Client - 
    IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root sending #47 
10:44:50.908 [ STARTING-SendThread(hadice.dev:2181)] DEBUG org.apache.zookeeper.ClientCnxn - 
    Reading reply sessionid:0x15028da0ff0009d, packet:: 
    clientPath:/HelloWorldRunnable/instances/5e72cb8c-cf94-4718-a44b-ec983304efa0 
    serverPath:/HelloWorldRunnable/instances/5e72cb8c-cf94-4718-a44b-ec983304efa0 
    finished:false header:: 10,3 replyHeader:: 10,1797,-101 request:: '/HelloWorldRunnable/instances/5e72cb8c-cf94-4718-a44b-ec983304efa0,T response:: 
10:44:50.913 [IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root] DEBUG org.apache.hadoop.ipc.Client - 
    IPC Client (431687661) connection to gin1.dev/10.0.22.129:8032 from root got value #47 
10:44:50.913 [ STOPPING] DEBUG o.a.hadoop.ipc.ProtobufRpcEngine - Call: getApplicationReport took 6ms 
10:44:50.916 [ STOPPING] DEBUG o.a.twill.yarn.YarnTwillController - 
    Yarn application HelloWorldRunnable application_1443786884805_0185 completed with status 
    FAILED 

的应用被接受,但随后过渡到“失败”状态。

丝带UI显示此为错误(非常非特异性):

Application application_1443786884805_0185 failed 2 times due to AM Container for appattempt_1443786884805_0185_000002 exited with exitCode: 1 
For more detailed output, check application tracking page:http://gin1.dev:8088/proxy/application_1443786884805_0185/Then, click on links to logs of each attempt. 
Diagnostics: Exception from container-launch. 
Container id: container_1443786884805_0185_02_000001 
Exit code: 1 
Stack trace: 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:715) 
    at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211) 
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302) 
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Container exited with a non-zero exit code 1 
Failing this attempt. Failing the application. 

和节点日志显示:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2693) 
    at java.lang.Class.privateGetMethodRecursive(Class.java:3040) 
    at java.lang.Class.getMethod0(Class.java:3010) 
    at java.lang.Class.getMethod(Class.java:1776) 
    at org.apache.twill.launcher.TwillLauncher.main(TwillLauncher.java:85) 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 6 more 

什么可能是错误的?我认为hadoop类应该在纱线应用中的类路径上。如何解决这个问题?

回答

0

我假定您正在启动应用程序,并在类路径中显示hadoop classpath的结果(如示例所示)。您需要确保在启动器框上运行hadoop classpath的结果指向包含hadoop jar的本地路径。您可能要检查的另一件事是容器日志目录中的stdout文件。它打印出用于启动应用程序的类路径,并查看是否在那里找到了hadoop jar。