关于hive的资源调度问题,如何解决?

初学hive,遇到一个问题。我在虚拟机安装了伪分布式的hadoop,能正常运行,能执行一些如WordCount之类的小程序。然后安装hive。安装后,能创建数据库,能建表。但是往表插入一条简单的数据,就被卡住了,看日志应该是yarn没有把资源分配给应用。目前不知道怎么解决,是不是哪里配置错了。
Application is added to the scheduler and is not yet activated. Skipping AM assignment as cluster resource is empty

img

img

这个错误信息通常意味着你的yarn调度器没有足够的资源来分配给你的应用程序。
建议:
1、尝试增加yarn调度器的资源,可以通过修改yarn配置文件中的以下参数来实现:
yarn.resourcemanager.minimum-allocation-mb  
yarn.resourcemanager.minimum-allocation-vcores
2、可以尝试减少应用程序所需的使用量,或者增加yarn调度器的资源。
3、可以检查yarn调度器的配置文件,确保它正确地配置了应用程序容器的资源要求。
4、检查yarn调度器的日志,以查看是否有任何错误或异常。你可以通过以下方式检查yarn调度器是否正确地分配了资源:
yarn application -list

第一次运行hive要初始化



  schematool -dbType mysql -initSchema

看起来像是资源不足的现象。调整下yarn的资源看看行不行:

<property>
<!-- Maximum resources to allocate to application masters
If this is too high application masters can crowd out actual work -->
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>0.6</value>
</property>

可能是由于Hive的配置问题

检查Hive的配置文件hive-site.xml,确保其中的参数设置正确。特别是关于YARN和Hadoop集群的配置参数,例如yarn.resourcemanager.address、yarn.nodemanager.aux-services等。
也可以考虑重新安装,并确保所有组件都正确安装和配置。

检查YARN配置,确保集群资源分配器设置正确,同时检查节点管理器的内存总量,以及每个节点管理器的可用内存,确保它们与YARN配置文件中的设置相匹配。