You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hive插入任务执行失败:容器退出码127及prelaunch.err错误排查

Hive插入任务失败排查与解决

问题现象

执行Hive插入语句:

hive> insert into test.emp (sr_no,usr_name,city) values (10,"Prince","Kathmandu");

任务执行失败,返回核心报错:

FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

同时Container日志显示:

[2023-03-11 03:39:10.914]Container exited with a non-zero exit code 127. Error file: prelaunch.err.
/bin/bash: /Library/Internet: No such file or directory

失败原因

核心问题是环境变量中配置的路径包含空格,但未用引号包裹。bash解析无引号的带空格路径时,会将空格前的部分当作命令,空格后的部分当作参数。比如常见的Java安装路径/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home,若JAVA_HOME直接配置该路径且未加引号,bash会试图执行/Library/Internet这个不存在的命令,从而触发127错误(命令未找到),导致Container启动失败。

解决办法

  1. 检查系统或Hadoop/Hive相关环境变量(如JAVA_HOME、HADOOP_HOME、HIVE_HOME等),定位包含空格的路径配置
  2. 修改对应的环境变量配置文件(如~/.bash_profile、~/.zshrc、$HADOOP_HOME/etc/hadoop/hadoop-env.sh、$HIVE_HOME/conf/hive-env.sh),给带空格的路径加上双引号:
    • 错误示例:
      export JAVA_HOME=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
      
    • 正确示例:
      export JAVA_HOME="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"
      
  3. 重新加载环境变量配置,例如执行:
    source ~/.bash_profile
    
    (注:若使用zsh则执行source ~/.zshrc,根据当前shell环境调整)
  4. 重启Hadoop和Hive服务,确保新配置生效
  5. 重新执行Hive插入语句

内容的提问来源于stack exchange,提问作者Prince Mehta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 21:22:21