Hive On Spark 报错:Failed to get a spark session: org.apache.hadoop.hive.ql.metadata.HiveException

avatar
作者
猴君
阅读量: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集群,使得改动生效即可

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!