2013-07-22 3 views
2
다음 받는다는 명령을 사용하여 토폴로지를 실행하는 동안이 오류가 무엇입니까

:은 찾을 수 없습니다 org.apache.thrift7.TBase 클래스

java -cp ./target/wordcount-0.0.1.jar:/usr/local/hadoop/storm/storm-0.8.1.jar:/usr/local/hadoop/storm/lib/*:/usr/local/hadoop/storm/conf/storm.yaml com.test.newpackage.TopologyMain resource/words.txt 

: 난 다음 명령을 사용하려고하면

mvn exec:java -Dexec.mainClass="com.test.newpackage.TopologyMain" -Dexec.args="resource/words.txt" 

을 오류도 출력도되지 않습니다. 심지어 폭풍우에 토폴로지를 제출 한 후 :

storm jar StormEclipse.jar com.test.newpackage.TopologyMain /resource/words.txt 

이 토폴로지는 ui (localhost : 8080)에 표시되지 않습니다.

[INFO] Scanning for projects... 
    [INFO] Searching repository for plugin with prefix: 'exec'. 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Building Unnamed - com.test.newpackage:wordcount:jar:0.0.1 
    [INFO] task-segment: [exec:java] 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Preparing exec:java 
    [INFO] No goals needed for project - skipping 
    [INFO] [exec:java {execution: default-cli}] 
    [WARNING] 
    java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297) 
     at java.lang.Thread.run(Thread.java:724) 
    Caused by: java.lang.NoClassDefFoundError: org/apache/thrift7/TBase 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:788) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:447) 
     at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     at backtype.storm.topology.TopologyBuilder.initCommon(TopologyBuilder.java:215) 
     at backtype.storm.topology.TopologyBuilder.setSpout(TopologyBuilder.java:178) 
     at backtype.storm.topology.TopologyBuilder.setSpout(TopologyBuilder.java:164) 
     at com.test.newpackage.TopologyMain.main(TopologyMain.java:12) 
     ... 6 more 
    Caused by: java.lang.ClassNotFoundException: org.apache.thrift7.TBase 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
     ... 21 more 
    [INFO] ------------------------------------------------------------------------ 
    [ERROR] BUILD ERROR 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] An exception occured while executing the Java class. null 

    org.apache.thrift7.TBase 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] For more information, run Maven with the -e switch 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Total time: 1 second 
    [INFO] Finished at: Mon Jul 22 18:55:23 IST 2013 
    [INFO] Final Memory: 5M/15M 
    [INFO] ------------------------------------------------------------------------ 
+0

가능한 중복 http://stackoverflow.com/questions 받는다는 통해 실행하려면

는 시험 범위를 제거/17806331/org-apache-thrift7-tbase-vs-org-apache-thrift-tbase) – Joe

답변

0

폭풍 의존성의 범위를 확인하십시오. storm wiki에 제안 된 예제 pom.xml은 테스트 할 범위를 설정합니다. 따라서 maven으로 실행할 때, 폭풍 의존성을 해결하지 못합니다. 당신이

[org.apache.thrift.TBase 대 org.apache.thrift7.TBase] (의
+0

여기에 몇 가지 코드와 완전한 설명을 제공하려고합니다. –