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

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

http://img1.sycdn.imooc.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回答

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命令把任务杀掉即可

  • zengchen 提问者 #1

    出了错误提示了:

    http://img1.sycdn.imooc.com//climg/6075ad75082173d116660286.jpg

    bigdata01上用start-all.sh 开启的,yarn和hdfs都开启了啊,怎么还连不上呢?

    [root@centos7 shell]# jps

    6704 ResourceManager

    6976 JobHistoryServer

    6145 NameNode

    7811 Jps

    6475 SecondaryNameNode

    6269 DataNode

    6829 NodeManager


    之前 进入hive命令行太急了,还报过hdfs安全模式的错误,说明hive找到了01虚拟机了啊


    2021-04-13 22:43:39
  • zengchen 提问者 #2

    补充一下错误提示:

    http://img1.sycdn.imooc.com//climg/6075ae4d083d8a3514900808.jpg

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

    2021-04-13 22:45:31
徐老师 2021-04-13 23:03:04

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

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

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

  • 提问者 zengchen #1

    找出原因了,查看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>


    2021-04-14 10:20:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师