阅读量:0
问题:
脚本中含有:数据装载进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集群,使得改动生效即可