2

我们希望将 WSO2 BAM 2.0.1 连接到外部 hadoop 集群(完全分布式)。我按照此链接进行设置

配置 Apache Hive

但是,当我运行我的 Hive 脚本时,出现以下错误

java.sql.SQLException:查询返回非零代码:9,原因:FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.MapRedTask 返回代码 -101

此 Hive 脚本适用于本地 Hadoop 模式...

在使用外部 Hadoop 集群时,我是否还需要对 Hive 脚本进行任何更改。

这些是我在控制台中看到的错误..

TID:[0] [BAM] [2013-01-16 09:42:36,583] INFO {org.apache.hadoop.hive.ql.exec.Utilities} - 未缓存 hdfs://r4p8n0c:9000/ 的内容摘要用户/hive/warehouse_wso2-1234/aeanalyticstable_demo {org.apache.hadoop.hive.ql.exec.Utilities}
TID:[0] [BAM] [2013-01-16 09:42:36,583] 信息 {org.apache. hadoop.hive.ql.exec.Utilities} - 未缓存 hdfs://r4p8n0c:9000/user/hive/warehouse_wso2-1234/aeanalyticstable_demo {org.apache.hadoop.hive.ql.exec.Utilities}
TID 的内容摘要: [0] [BAM] [2013-01-16 09:42:36,590] INFO {org.apache.hadoop.hive.ql.exec.ExecDriver} - 添加非本地表 hdfs://r4p8n0c:9000/user /hive/warehouse_wso2-1234/aeanalyticstable_demo {org.apache.hadoop.hive.ql.exec.ExecDriver}
TID:[0] [BAM] [2013-01-16 09:42:36,590] INFO {org.apache.hadoop.hive.ql.exec.ExecDriver} - 添加非本机表 hdfs://r4p8n0c:9000 /user/hive/warehouse_wso2-1234/aeanalyticstable_demo {org.apache.hadoop.hive.ql.exec.ExecDriver}
TID:[0] [BAM] [2013-01-16 09:42:36,832] 错误 {org.apache .hadoop.hive.ql.Driver} - 失败:执行错误,从 org.apache.hadoop.hive.ql.exec.MapRedTask {org.apache.hadoop.hive.ql.Driver} 返回代码 -101
TID:[0 ] [BAM] [2013-01-16 09:42:36,832] 错误 {org.apache.hadoop.hive.ql.Driver} - 失败:执行错误,从 org.apache.hadoop.hive.ql 返回代码 -101 .exec.MapRedTask {org.apache.hadoop.hive.ql.Driver}
TID:[0] [BAM] [2013-01-16 09:42:36,833] INFO {org.apache.hadoop.hive.ql.Driver } - {org.apache.hadoop.hive.ql.Driver}
TID:[0] [BAM] [2013-01-16 09:42:36,833] 信息 {org.apache.hadoop.hive.ql.Driver} - {org.apache.hadoop.hive.ql.Driver}
TID: [0] [BAM] [2013-01-16 09:42:36,833] 信息 {org.apache.hadoop.hive.ql.Driver} - {org.apache.hadoop.hive.ql.Driver}
TID:[0 ] [BAM] [2013-01-16 09:42:36,833] 信息 {org.apache.hadoop.hive.ql.Driver} - {org.apache.hadoop.hive.ql.Driver}
TID:[0] [ BAM] [2013-01-16 09:42:36,834] 信息 {org.apache.hadoop.hive.ql.Driver} - {org.apache.hadoop.hive.ql.Driver}
TID:[0] [BAM] [2013-01-16 09:42:36,834] 信息 {org.apache.hadoop.hive.ql.Driver} - {org.apache.hadoop.hive.ql.Driver}
TID:[0] [BAM] [2013-01-16 09:42:36,834] 错误 {org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl} - 执行 Hive 脚本时出错。
查询返回非零代码:9,原因:FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.MapRedTask {org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl}
java返回代码 -101 .sql.SQLException:查询返回非零代码:9,原因:失败:执行错误,从 org.apache.hadoop.hive.jdbc
的 org.apache.hadoop.hive.ql.exec.MapRedTask 返回代码 -101。 HiveStatement.executeQuery(HiveStatement.java:189)
在 org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.call(HiveExecutorServiceImpl.java:325)
在 org.wso2.carbon.analytics.hive.impl.HiveExecutorServiceImpl$ScriptCallable.call(HiveExecutorServiceImpl.java:225)
在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
在 java.util.concurrent .FutureTask.run(FutureTask.java:138)
在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
在java.lang.Thread.run(Thread.java:662)
TID:[0] [BAM] [2013-01-16 09:42:36,848] 错误 {org.wso2.carbon.analytics.hive.ui.client.HiveExecutionClient} - 执行 Hive 脚本时出错。查询返回非零代码:9,原因:FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.MapRedTask {org.wso2.carbon.analytics.hive.ui.client.HiveExecutionClient} 返回代码 -101

org.wso2.carbon.analytics.hive.stub.HiveExecutionServiceHiveExecutionException:HiveExecutionServiceHiveExecutionException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27)
在 java.lang.reflect.Constructor.newInstance(Constructor.java:513)
在 java.lang.Class.newInstance0(Class.java:355)
在 java.lang.Class.newInstance(Class.爪哇:308)
在 org.wso2.carbon.analytics.hive.stub.HiveExecutionServiceStub.executeHiveScript(HiveExecutionServiceStub.java:215)
在 org.wso2.carbon.analytics.hive.ui.client.HiveExecutionClient.executeScript(HiveExecutionClient.java:66)
在 org .apache.jsp.hive_002dexplorer.queryresults_jsp._jspService(queryresults_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java :722)
在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
在 org.wso2.carbon.ui.JspServlet.service(JspServlet .java:161)
在 org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
在 org.eclipse.equinox.http。 helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:36)
在 org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
在 org.eclipse.equinox.http.servlet.internal.ProxyServlet。进程别名(ProxyServlet.java:111)
在 org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
在 org.wso2.carbon.tomcat.ext .servlet.DelegationServlet.service(DelegationServlet.java:68)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210 ) )
在 org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:599)
的 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:690)

4

2 回答 2

0

如果您正确设置了外部 hadoop 集群,它应该可以工作。它已经使用外部 hadoop 集群进行了测试。如果您遇到任何问题,请同时检查 hadoop 集群节点中的错误日志。查找与 hadoop 集群相关的配置问题将很有帮助。因为有时在 ui 中显示的问题不是很有用。您无需更改 Hive 脚本即可使用外部集群。

谢谢,卡松。

于 2013-01-15T16:38:47.873 回答
0

我们能够让 WSO2 BAM 与外部完全分布式 Hadoop 一起工作。

看起来 2.0.1 版本无法将 map-reduce 作业提交到外部 hadoop 集群。我们回滚到 2.0.0 并且 Hive 脚本开始工作。

我想知道这是否是 2.0.1 的已知问题?我们有一个精简的 2.0.1 版本(它只有 carbon、Analytics/AnalyticsUI、Dashboard、Registry、Databridge、datasource、stratos、security、tasks 和传输管理功能)

谢谢拉吉夫

于 2013-01-18T05:27:42.397 回答