当前位置: 代码网 > it编程>数据库>MsSqlserver > Hive On Spark 报错:Failed to get a spark session: org.apache.hadoop.hive.ql.metadata.HiveException

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

2024年07月31日 MsSqlserver 我要评论
脚本中含有:数据装载进hive表的sql语句,在执行脚本的时候发生报错。

问题:

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com