其一,启动hive时报错如下:
Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be in the path
原因:hive下的conf文件夹下的 hive-env.sh中HADOOP路径出现问题。
解决方法:进入 hive下的conf文件夹,复制hive-env.sh.template 为hive-env.sh
命令:cd /home/hadoop/opt/apache-hive-2.3.2-bin/conf
home:家目录
hadoop:用户名目录
opt:用户名下创建的文件夹xiu
apache-hive-2.3.2-bin:即hive目录
复制 hive-env.sh.template:
命令:cp hive-env.sh.template hive-env.sh
修改hive-env.sh,添加HADOOP_HOME路径:
命令:vi hive-env.sh
添加:export HADOOP_HOME=/home/hadoop/opt/hadoop-2.7.5
可以通过pwd得到hadoop的路径:
命令:pwd
结果:/home/hadoop/opt/hadoop-2.7.5(与你的路径大致相同)
保存并退出
命令: :wq
刷新环境变量
命令: source hive-env.sh
至此,问题解决。
其二,启动hive时报错如下:
Error: JAVA_HOME is not set and could not be found
原因:hadoop2.7.5里面hadoop-env.sh文件里面的java路径设置不对
解决方法:在hadoop-env.sh中配置JAVA_HOME的路径
命令:vi /home/hadoop/opt/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
添加:export JAVA_HOME=/home/hadoop/opt/hadoop-2.7.5
注意:在vi前最好通过cat确认一下该文件是否存在,避免犯不该的错误。
退出,并且刷新,重启hadoop,就能进入hive。