Sqoop Hive退出状态1

Did*_*ddy 6 hadoop hive sqoop

当我执行:

sqoop import --connect jdbc:mysql://localhost/testdb --table test --hive-table test --hive-import -m 1 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

13/04/21 16:42:50 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 1
    at org.apache.sqoop.hive.HiveImport.executeExternalHiveScript(HiveImport.java:364)
    at org.apache.sqoop.hive.HiveImport.executeScript(HiveImport.java:314)
    at org.apache.sqoop.hive.HiveImport.importTable(HiveImport.java:226)
    at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:415)
    at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:476)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:238)
Run Code Online (Sandbox Code Playgroud)

我试图谷歌,但没有找到解决方案.我以伪分布式方式在本地设置Hadoop.Hive运行良好......我使用嵌入式Metastore.任何想法如何解决这一问题?谢谢,老爹

Jar*_*cho 9

基于日志,您似乎遇到以下异常:

13/04/22 18:34:44 INFO hive.HiveImport:线程"main"中的异常java.lang.NoSuchMethodError:org.apache.thrift.EncodingUtils.setBit(BIZ)B

我之前看到过这个问题,当时用户在"不兼容"版本中使用HBase和Hive.不兼容性通常可以在多个级别上进行,但这个特殊的是HBase和Hive使用不同的thrift版本.由于Sqoop将HBase和Hive jar添加到类路径中,因此只有一个thrift版本可以处于活动状态,因此"第二个"工具(通常是hive)无法正常工作.

你有没有机会在你执行Sqoop的盒子上安装HBase和Hive?如果是这样,你能检查每个项目正在使用的节俭版本吗?只需搜索"*thrift*.jar".如果两个问题的答案都是肯定的,那么你可能会将HBASE_HOME设置为不存在的东西,以强制Sqoop不加载HBase的thrift版本.