Hive shell insert 生成mapreduce 任务卡住了。时间太长了,我主动ctrl+c结束了

来源:3-1 Hive使用方式之命令行方式

zengchen

2021-04-13 11:40:14

http://img.mukewang.com/climg/6075104e08ff799007700422.jpg

我的电脑性能有限,只运行了两台虚拟机。hadoop一个,flume+hive+mysql一个。flume sink hadoop操作是可以的。

hive怎么知道向bigdata01上提交任务呢?hive-env.sh 里的 HADOOP_HOME是bigdata04本地hadoop安装目录啊

我的bigdata04 也安装了 hadoop,算是个hadoop集群客户端节点吗?mapreduce任务怎么就卡住了?

写回答

2回答

徐老师

2021-04-13

1:hive怎么知道向bigdata01上提交任务呢?hive-env.sh 里的 HADOOP_HOME是bigdata04本地hadoop安装目录啊


bigdata04中hadoop的etc/hadoop目录中的那些配置文件(最核心的是core-site.xml中的fs.defaultFs参数)和Hadoop集群中的配置文件内容是一样的,所以bigdata04知道集群的主节点是哪个节点,这样bigdata04就可以访问集群了。


2:我的bigdata04 也安装了 hadoop,算是个hadoop集群客户端节点吗?

bigdata04 节点安装了hadoop之后,需要确保hadoop目录下的etc/hadoop目录中的配置文件内容和集群中的配置文件一致,最好是把集群中的Hadoop安装包拷贝到bigdata04节点上。这样bigdata04 就是集群的客户端节点了。



3:mapreduce任务怎么就卡住了?

mapreduce任务卡住的原因需要访问YARN的8088界面,查看一下hive提交到YARN上的这个mapreduce的日志信息,看看到底是报了什么错。

有一个比较直接的方法是这样的:在hive中执行insert之后,就一直等(有可能是由于电脑性能差导致的执行很慢)。

如果执行失败的话,控制台肯定会提示失败的,首先看一下控制台有没有抛出详细的错误信息,如果没有的话再到8088界面去查看详细的错误信息。



注意:你在hive命令行中执行ctrl+c应该是无法停止任务的,因为任务已经提交到Hadoop集群上面了,所以你还需要到YARN中确认一下上面是否有正在执行的任务,有的话使用yarn kill命令把任务杀掉即可

1
hengchen
hp>补充一下错误提示:

http://img.mukewang.com/climg/6075ae4d083d8a3514900808.jpg

8088,没有看到任何任务记录,​条数是0

h021-04-13
共2条回复

徐老师

2021-04-13

根据你截图的日志来看,说是配置文件可能有问题,以及主机名和端口无法识别,你先确认一下在04机器上是否可以操作集群

最好加一下大数据体系课QQ群,明天远程看一下这个问题

加群方式在第1周视频的1—1小节中有介绍

0
hengchen
hp>找出原因了,查看hive日志发现:

2021-04-14T10:09:45,227  INFO [3d4fea2d-1d95-463d-aa65-f69528dc8dce main] ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 7 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2021-04-14T10:09:46,228 INFO [3d4fea2d-1d95-463d-aa65-f69528dc8dce main] ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 8 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2021-04-14T10:09:47,229 INFO [3d4fea2d-1d95-463d-aa65-f69528dc8dce main] ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2021-04-14T10:09:47,230 INFO [3d4fea2d-1d95-463d-aa65-f69528dc8dce main] retry.RetryInvocationHandler: java.net.ConnectException: Your endpoint configuration is wrong; For more details see: http://wiki.apache.org/hadoop/UnsetHostnameOrPort, while invoking ApplicationClientProtocolPBClientImpl.getNewApplication over null after 29 failover attempts. Trying to failover after sleeping for 40933ms.

原来我的hadoop是伪集群,bigdata01和bigdata04的 yarn-site.xml 里没有配置 yarn的hostname,加入这段配置就好了

<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos7</value>
</property>


h021-04-14
共1条回复

大数据工程师

硬核技能带你攻克热点商业项目,从入门直达中级工程师水平,掌握DT时代淘金利器!

1175 学习 · 1179 问题

查看课程