查看yarn的后台任务都是显示的ACCEPTED:
在这里插入图片描述
在这里插入图片描述
可以执行建库和建表以及select * 的操作,但是其它的操作就一直卡住了:
在这里插入图片描述
原因与解决:
看了网上的博客资料,先是对namenode进行格式化之后重启hive但也还是不行
看日志怀疑是没有资源可分配?
在这里插入图片描述
于是又把给虚拟机的内存从2G增加到8G,并且在hive-site.xml中又增加了对调度器最小和最大资源分配的设置:

<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>256</value>
</property>
<property> 
<name>yarn.scheduler.maximum-allocation-mb</name> 
<value>2048</value>
</property>
<property> 
<name>yarn.nodemanager.resource.memory-mb</name> 
<value>2048</value>
</property>

并在capacity-scheduler.xml中调高了yarn.scheduler.capacity.maximum-am-resource-percent参数的比例:

<property>
    <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
    <value>0.6</value>
    <description>
      Maximum percent of resources in the cluster which can be used to run
      application masters i.e. controls number of concurrent running
      applications.
    </description>
</property>

但是也还是不行,发现Scheduler中可用的内存和CPU都是0
在这里插入图片描述
折腾了好久,根因没有找到,最后是怎么解决的?
把hive卸载,把MySQL中hive的元数据库删掉,对namenode重新进行格式化(格式化之前记得先把/home/hadoop/app/hadoop-2.7.0/data/tmp/dfs路径下的文件夹都删掉,不然后面DataNode起不来)
在这里插入图片描述
格式化完NameNode之后,重装hive,然后初始化hive的MySQL元数据库,之后再启动hdfs和yarn,最后启动hive,并进行建表和insert插入操作,这次运行成功了,任务不再是ACCEPTED状态了,查看后台Scheduler中也有数据了:
在这里插入图片描述
问题解决。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐