Hive插入语句执行停滞问题求助(macOS环境)
解决Hive INSERT语句停滞问题(macOS环境)
排查执行引擎配置
- 先确认当前Hive使用的执行引擎,在Hive终端执行:
根据返回值(mr/spark/tez)针对性处理。set hive.execution.engine;
针对MapReduce(MR)引擎的修复步骤
查看YARN任务状态
打开日志中的Tracking URL(http://localhost:8088/proxy/application_1678277480407_0001/),检查任务是卡在资源申请阶段还是任务启动失败。本地YARN默认内存配置通常偏低,容易导致容器分配失败。调整YARN内存配置
找到Hadoop安装目录下的etc/hadoop/yarn-site.xml,添加或修改以下参数:<property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <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服务:
stop-yarn.sh && start-yarn.sh调整MapReduce内存配置
修改etc/hadoop/mapred-site.xml:<property> <name>mapreduce.map.memory.mb</name> <value>1024</value> </property> <property> <name>mapreduce.reduce.memory.mb</name> <value>2048</value> </property>重启MapReduce相关服务。
切换到Spark引擎尝试
如果MR引擎问题难以快速解决,可临时切换到Spark执行:
在Hive终端执行:
set hive.execution.engine=spark;
然后重新运行INSERT语句。确保Spark本地模式配置正常,检查spark-defaults.conf中spark.master设置为local[*]。
检查HDFS写入权限
确认Hive表所在的HDFS目录有写入权限:
hdfs dfs -ls /user/hive/warehouse
如果权限不足,执行:
hdfs dfs -chmod -R 777 /user/hive/warehouse/tt # 替换为你的表实际路径
内容的提问来源于stack exchange,提问作者Prince Mehta
相关产品推荐
相关产品推荐

