安装配置了Hive程序,正常可以启动,也在/etc/profile中配置了环境变量,但是直接命令行hive启动失败
1./etc/profile中的部分配置信息:
export HIVE_HOME=/opt/modules/hive-0.13.1-cdh5.3.6
export PATH=$PATH:$HIVE_HOME/bin
export HBASE_HOME=/opt/modules/hbase
export PATH=$PATH:$HBASE_HOME/bin
直接echo $HIVE_HOME也没有问题
2.直接命令行输入hive启动失败,进入hive安装目录则会启动成功
[robot@hadoop101 ~]$ hive
bash: hive: command not found...
既然显示在bash中找不到hive命令,那么就是bash配置出问题了 ,首先有一个问题要明白,为什么配置了/etc/profile环境变量后,程序就可以直接启动,而不用进入安装环境后启动?因为/etc/profile这个文件是每个用户登录时都会运行的环境变量设置(对所有用户生效(永久的)。
然而每个用户还有个自己的环境变量在当前$HOME/.bash_profile(/home/robot/.bash_profile)。修改这个文件中变量只会对当前用户有效,比如系统用户是robot。这里之所以配置了系统环境变量而没有用,是因为当前用户加载的是自己的环境变量。覆盖了系统的环境变量
1. 所以这里只需要将PATH=$PATH:$HOME/.local/bin:$HOME/bin注释掉即可。
2.然后 source .bash_profile即可。这时候直接执行hive即可启动hive程序。
[robot@hadoop101 ~]$ cat ./.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
#需要将下面这一行注释掉,这样系统就会直接使用系统环境变量,而不是自己的
#PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH