eclipse下开发hive成功,打包成jar失败

LAIER903 2011-08-22 09:59:22
你好,我最近在弄hive,我将hive的源码自己编译一遍,再简单的修改一下,发现在eclipse中操作是成功的,但是将eclipse的工程打包到终端运行,就一直显示失败,org.apache.hadoop.hive.ql.metadata.HiveException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
NestedThrowables:
java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1028)

at org.apache.hadoop.hive.ql.metadata.Hive.databaseExists(Hive.java:1013)

at org.apache.hadoop.hive.ql.exec.DDLTask.showTables(DDLTask.java:1691)

at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:289)

at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130)

at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)

at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063)

at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900)

at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748)

at CliDriver.processCmd(CliDriver.java:165)

at CliDriver.processLine(CliDriver.java:242)

at CliDriver.main(CliDriver.java:468)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: javax.jdo.JDOFatalInternalException: Unexpected exception caught.

请问你有遇到这种情况吗?
...全文
479 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoer903 2011-08-28
  • 打赏
  • 举报
回复
hadoop真是笨重的东西。
LAIER903 2011-08-23
  • 打赏
  • 举报
回复
没有了,这是hive.log里面的错误记录。我觉得是在打包的问题上,但又不知是什么问题。在eclipse上完全可以跑得动啊。
softroad 2011-08-23
  • 打赏
  • 举报
回复
呵呵,解决就好。
softroad 2011-08-23
  • 打赏
  • 举报
回复
在没异常了信息了吗?没发现你代码调用啊
LAIER903 2011-08-23
  • 打赏
  • 举报
回复
以下是全部的错误信息;
2011-08-23 09:31:43,602 ERROR exec.DDLTask (SessionState.java:printError(343)) - FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
2 NestedThrowables:
3 java.lang.reflect.InvocationTargetException
4 org.apache.hadoop.hive.ql.metadata.HiveException: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
5 NestedThrowables:
6 java.lang.reflect.InvocationTargetException
7 >-at org.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1028)
8 >-at org.apache.hadoop.hive.ql.metadata.Hive.databaseExists(Hive.java:1013)
9 >-at org.apache.hadoop.hive.ql.exec.DDLTask.showTables(DDLTask.java:1691)
10 >-at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:289)
11 >-at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130)
12 >-at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
13 >-at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063)
14 >-at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900)
15 >-at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748)
16 >-at CliDriver.processCmd(CliDriver.java:165)
17 >-at CliDriver.processLine(CliDriver.java:242)
18 >-at CliDriver.main(CliDriver.java:468)
19 Caused by: javax.jdo.JDOFatalInternalException: Unexpected exception caught.
20 NestedThrowables:
21 java.lang.reflect.InvocationTargetException
22 >-at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1186)
23 >-at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:803)
24 >-at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:698)
25 >-at org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:234)
26 >-at org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:261)
27 >-at org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:196)
28 >-at org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:171)
29 >-at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
30 >-at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
31 >-at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:354)
32 >-at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.executeWithRetry(HiveMetaStore.java:306)
33 >-at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:451)
34 >-at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:232)
35 >-at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaStore.java:197)
36 >-at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:108)
37 >-at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:1855)
38 >-at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:1865)
39 >-at org.apache.hadoop.hive.ql.metadata.Hive.getDatabase(Hive.java:1024)
40 >-... 11 more
41 Caused by: java.lang.reflect.InvocationTargetException
42 >-at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
43 >-at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
44 >-at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
45 >-at java.lang.reflect.Method.invoke(Method.java:597)
46 >-at javax.jdo.JDOHelper$16.run(JDOHelper.java:1958)
47 >-at java.security.AccessController.doPrivileged(Native Method)
48 >-at javax.jdo.JDOHelper.invoke(JDOHelper.java:1953)
49 >-at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1159)
50 >-... 28 more
51 Caused by: org.datanucleus.exceptions.NucleusUserException: Persistence process has been specified to use a ClassLoaderResolver of name "" yet this has not been found by the DataNucleus plugin mechanism. Please check your CLASSPATH an d plugin specification.
52 >-at org.datanucleus.OMFContext.getClassLoaderResolver(OMFContext.java:319)
53 >-at org.datanucleus.OMFContext.<init>(OMFContext.java:165)
54 >-at org.datanucleus.OMFContext.<init>(OMFContext.java:137)
55 >-at org.datanucleus.ObjectManagerFactoryImpl.initialiseOMFContext(ObjectManagerFactoryImpl.java:132)
56 >-at org.datanucleus.jdo.JDOPersistenceManagerFactory.initialiseProperties(JDOPersistenceManagerFactory.java:363)
57 >-at org.datanucleus.jdo.JDOPersistenceManagerFactory.<init>(JDOPersistenceManagerFactory.java:307)
58 >-at org.datanucleus.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:255)
59 >-at org.datanucleus.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:182)
LAIER903 2011-08-23
  • 打赏
  • 举报
回复
谢谢你啊,我的问题已经解决了。其实很简单,如果打包成run jar就会把你所需的jar都打包进来,但是hadoop的jar包很多,有重复的包和配置文件,文字一样,但其实内容也有些不同(我自己看到的,自己觉得呢),打包的时候默认情况下不是覆盖就是合并,虽然我不知到是采取了哪种,但是既然hadoop已经提供了调用hadoop jar的功能,那为何不直接jar呢》所以我选择了最简单的生成jar,然后用hadoop jar XXXX.jar ,就可以了。谢谢你的关注和提供的帮忙。
softroad 2011-08-23
  • 打赏
  • 举报
回复
这里有个打jar的图片,你试试,会不会是什么文件没包含进去
http://blog.csdn.net/fog911811/article/details/6151700
softroad 2011-08-22
  • 打赏
  • 举报
回复
root cause发下

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧