【问题标题】:WSO2 external hadoopWSO2 外部 hadoop
【发布时间】:2015-05-15 15:14:10
【问题描述】:

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

Configuring 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/user/hive/warehouse_wso2-1234/aeanalyticstable_demo {org.apache.hadoop.hive.ql.exec.Utilities}
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,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 返回代码 -101 .hive.ql.exec.MapRedTask {org.apache.hadoop.hive.ql.Driver}
TID:[0] [BAM] [2013-01-16 09:42:36,832] 错误 {org.apache.hadoop.hive.ql.Driver} - 失败:执行错误,从 org.apache.hadoop 返回代码 -101 .hive.ql.exec.MapRedTask {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,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}返回代码 -101 br> java.sql.SQLException:查询返回非零代码:9,原因:FAILED:执行错误,从 org.apache.hadoop.hive.ql.exec.MapRedTask 返回代码 -101
在 org.apache.hadoop.hive.jdbc.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
在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在 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.java: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)
在 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
在 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.processAlias(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.invoke(ApplicationDispatcher.java:690)
在 org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:599)

【问题讨论】:

  • 如果您可以提及打印在控制台中的异常,这将很有用。

标签: hadoop hive wso2 wso2bam


【解决方案1】:

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

谢谢, 卡松。

【讨论】:

  • Hadoop 集群设置看起来不错。我可以从 Hive cli 运行查询,我可以看到从底层 Cassandra 获取数据。
  • 在 BAM 中执行的 hive 脚本成功定义了 hive 表,但是一旦遇到 select 语句,它就会抛出错误代码 -101.. 我在 hadoop 数据节点/名称节点上看不到错误。在 hive-site.xml 中提到取消注释伪分布式模式的某些部分......这是否意味着 WSO2 仅支持伪分布式模式..而不是 hadoop 的完全分布式模式?我的 hadoop 集群处于完全分布式模式。任何提示都将非常有用。因为我被困在这一点上。试图使我的 wso2 设置成为生产级
【解决方案2】:

我们能够让 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 和传输管理功能)

谢谢 拉吉夫

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多