0

我遇到了一个奇怪的错误,我在 Azure Hortonworks Sandbox 的任何日志中都找不到。我正在尝试执行以下操作方法来尝试将 Mongodb 与 Hadoop(Hive)集成: https: //www.mongodb.com/blog/post/using-mongodb-hadoop-spark-part-2-hive-例如,但是当我尝试在 Mongo 中使用 Hive 创建表时,出现以下错误(在 MR2 和 Tez 处理器上使用 hive CLI、beeline 和 Ambari Hive 视图):

Error: Error while processing statement:  FAILED: Execution Error, 
return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.com/mongodb/BasicDBObject (state=08S01,code=1)

好吧,通过谷歌搜索这条消息,我发现人们引用了一些描述真正异常的 Java 日志,并得出结论(大多数情况下)类路径中缺少 mongodb-java-driver jar。

我的第一个问题:这些描述真正异常的日志在哪里?因为查看 /var/log/hive*/*.log 和 Yarn ResourceManagerUI -> 日志,除了“InterruptedException”、“ERROR applicationhistoryservice.ApplicationHistoryServer (LogAdapter.java:error(69)) - RECEIVED SIGNAL,我什么也看不到15:SIGTERM”等等......但没有什么真正有用的。

接下来,我在本地路径中添加了 mongo-hadoop-core 和 mongo-hadoop-hive jars(根据我的沙盒版本规范从 github 构建)和 mongodb-java-driver 版本 3.3.0,在 hive 部分中指定。 hive-site.xml 的 aux.jars.path,最后重新启动了我的 hive 服务(所以,包括 hive-server2)......但是没有办法让它工作,也没有办法获得更多信息来理解为什么它不是跑步...

我是不是忘记了什么?谢谢你的帮助!

4

1 回答 1

0

好吧,我终于找到了我的问题所在。

罐子 bson- $MongoVersion .jar 和 mongodb-driver-core- $MongoVersion .jar 丢失。

即使连接器文档指定我们需要将 mongo-hadoop-core- $connectorVersion .jar、mongo-hadoop-hive- $connectorVersion .jar 和 mongodb- driver- $mongoJavaDriver .jar 包含到 hadoop 类路径中,它似乎也需要bson 和 mongodb-driver-core jar 也是。

最后,日志位于:/var/log/hive/hiveserver2.log。我不明白我怎么会在阅读这些日志时错过这样的消息,但是,就是这样。

于 2016-12-01T14:45:12.903 回答