安裝配置了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