Hive beeline on yarn 报错

当用beeline 执行sql,触发mapreduce时, 会报异常:

2018-05-23 11:07:28 Uploaded 1 File to: file:/var/hive/iotmp/hive/865f9e35-90af-44a7-b1a2-023978352632/hive_2018-05-23_11-07-22_422_5402767909633287790-1/-local-10004/HashTable-Stage-3/MapJoin-mapfile00--.hashtable (290 bytes)
2018-05-23 11:07:28 End of local task; Time Taken: 1.399 sec.
Error: org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Call From node203.hmbank.com/10.30.16.203 to node202.hmbank.com:8032 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
    at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:380)
    at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257)
    at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91)
    at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:348)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1920)
    at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:362)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

在ResourceManager的web中看到没有成功提交任务。

而当直接通过hive客户端执行时, 执行MapReduce任务成功 。

分析错误原因:

  1. node202上的8032端口拒绝连接, 在node202上执行netstat -an | grep 8032 , 发现8032端口没有开启。
  2. 8032端口是ResourceManager的端口, 通过jps命令,查看发现ResourceManager程序以启动。
  3. 通过 yarn rmadmin -getServiceState rm202 发现当前状态为standby 。 node202 与node204两个主机启动ResourceManager HA。 rm204的状态是active。
  4. 从分析来看, 应该是beeline发送的job没有发送给到活动的ResourceManager节点上。 现尝试将node204节点的ResourceManager kill掉。 重新执行beeline命令, 发现MR任务正常启动并成功执行完成。
  5. 问题关键在于:beeline发出的MR job 没有找到正确的ResourceManager,但是hive分发的任务可以正常被执行,可能是beeline server的配置有问题。

遗留问题: 如何在ResourceManager HA下使用beeline 进行正确的MR任务执行?

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Hadoop、HBase、Hive、Spark分布式系统架构,本文通过全套部署方法来让大家深入系统内部以充分理解...
    0o失魂鱼o0阅读 3,147评论 0 30
  • 还是老巷安逸 浓浓人情儿味 花儿自由生长 不觉步入深处 走在老巷,缅怀过去 一半追忆,一半迷离 随着思绪,不觉步入深处
    枯叶萧瑟阅读 1,659评论 39 27
  • 惨淡经历听 感艰辛 落下无形的眼泪 用手擦吧擦吧眼角 这是无形的眼泪 精神受到冲击后浑身一热 被激励得是两眼发红
    TJYzzd阅读 151评论 0 0
  • 那个时候平常的人有bb机就不错了。我跟花梅热衷的交流在字里行间。从进厂她是我的师父开始,她对人生的思考方式,就...
    夏虫的晚风疏阅读 454评论 1 3

友情链接更多精彩内容