Mac终端无法运行Hive报Invalid HADOOP_COMMON_HOME错误如何解决
错误原因
- 缺失Hadoop核心路径环境变量:通过Homebrew安装的Hadoop目录结构和官方二进制包不同,Hadoop公共依赖包存放于
$HADOOP_HOME/libexec路径下,你未配置HADOOP_COMMON_HOME变量,Hive启动时无法定位Hadoop核心依赖。 - 环境变量未生效:MacOS当前默认Shell为zsh,仅修改
~/.bashrc不会自动加载配置,导致Hive读取不到正确的Hadoop路径。 - 日志配置路径不匹配:Hive启动时默认读取Hadoop配置目录下的log4j配置文件,若配置路径关联错误或文件缺失就会抛出警告。
修复步骤
- 补全
~/.bashrc的环境变量,修改后完整配置如下:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk export HADOOP_HOME=/opt/homebrew/Cellar/hadoop/3.3.1 # 新增Hadoop核心路径配置 export HADOOP_COMMON_HOME=$HADOOP_HOME/libexec export HADOOP_HDFS_HOME=$HADOOP_HOME/libexec export HADOOP_MAPRED_HOME=$HADOOP_HOME/libexec export HADOOP_YARN_HOME=$HADOOP_HOME/libexec export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/libexec/etc/hadoop export HIVE_HOME=/Users/arjunpanyam/apache-hive-3.1.2-bin export PATH=$PATH:$HIVE_HOME/bin # 新增Hive关联Hadoop配置的变量 export HIVE_CONF_DIR=$HIVE_HOME/conf export LD_LIBRARY_PATH=$HADOOP_HOME/libexec/lib/native:$LD_LIBRARY_PATH
- 生效配置,若使用默认zsh终端,执行以下命令:
source ~/.bashrc echo "source ~/.bashrc" >> ~/.zshrc source ~/.zshrc
- 验证Hadoop配置是否正常,执行
hadoop version,若正常输出版本信息则说明Hadoop环境配置无误。 - 处理log4j警告:将Hadoop配置目录下的log4j配置复制到Hive配置目录:
cp $HADOOP_CONF_DIR/log4j*.properties $HIVE_CONF_DIR/
- 重新启动Hive即可正常运行。
内容的提问来源于stack exchange,提问作者Anonymous Person
相关产品推荐
相关产品推荐

