问题:
脚本中含有:数据装载进hive表的sql语句,在执行脚本的时候发生报错
报错信息:
原因:
hive on spark 任务,想要运行时需要申请资源的。若在一定时间内无法申请到资源,会超时退出。
解决办法:
(1)最简洁、最有效的办法:
直接重启一下 hadoop集群(hdfs、yarn.....)
重新执行一下脚本,看这次是否能成功运行
(2)若方案一还是失败,则认为是yarn资源没分配够
修改hadoop的yarn-site.xml文件
添加以下内容:
<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<!--是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- yarn容器允许分配的最大最小内存 -->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<!-- yarn容器允许管理的物理内存大小 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
然后去hdfs上删除 tmp 文件:
最后再次重启hadoop集群,使得改动生效即可
发表评论