HIve的安裝

1 hadoop

hive的使用依賴hadoop,因此先介紹hadoop。html

1.1 hadoop下載和安裝

筆者是在Centos7.3上安裝的hadoop,使用的是hadoop-3.2的版本。直接按照hadoop-2.9文檔安裝便可。java

hadoop下載地址node

1.2 設置hadoop的環境變量

hadoop的環境變量必定要設置,否則hive啓動的時候會提示找不到hadoop。mysql

在/etc/profile中加入
export $HADOOP_HOME=hadoop的安裝路徑
export $PATH=$PATH:$HADOOP_HOME/binsql

注意:若是環境變量PATH設置錯誤,會致使一些命令失效。
centos 輸入什麼命令都失效數據庫

1.3 ssh localhost

啓動hadoop的時候要求在不輸入密碼的狀況下可以ssh localhost成功。在hadoop的官方文檔有提到解決辦法。我本身遇到的問題是:localhost:permission denied(publickey,password)apache

解決辦法:
解決ssh localhost中root@localhost:要求輸入密碼問題(已經進行了無密碼設置登陸)
root用戶操做文件:Operation not permittedcentos

1.4 Name node is in safe mode

在使用bin/hdfs dfs -mkdir /tmp命令時出現Cannot create directory /usr. Name node is in safe mode問題,百度上不少答案都說用bin/hdfs dfsadmin -safemode leave關閉安全模式,可是我使用了這個命令,安全模式會自動再次打開,也有一種說法是磁盤滿了,可是個人還有一半的空間沒利用,最後沒有找到其餘辦法,重啓了Hadoop,就解決了。安全

2 hive

2.1 hive的下載和安裝

我使用的是hive-3.1.1-bin版本,按照官方文檔安裝便可。ssh

2.2 hive環境變量的配置

export HIVE_HOME=hive安裝目錄
export PATH=$PATH:$HIVE_HOME/bin

2.3 hive-site.xml配置

須要在添加一個數據庫鏈接,若是在$HIVE_HOME/conf找不到hive-site.xml,能夠本身建立一個。我使用的是mysql數據庫。

hive-site.xml配置

在MySql數據庫的鏈接url中要添加useSSL=false

遇到的問題:Unexpected character '=' (code 61); expected a semi-colon after the reference for entity 'useUnicode

2.4 元數據庫初始化

FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

須要執行:schematool -dbType mysql -initSchema

2.5 mysql數據庫

數據庫是很早以前安裝的,用的時候鏈接不上了,關閉mysql以後,啓動不了。解決辦法

service mysqld start啓動失敗會提示使用service mysqld statusjournalct -xe查看錯誤信息,可是這兩個命令的結果都看不出錯誤信息。mysql的日誌在/var/log/mysqld.log文件中,可使用tail -n 1000 /var/log/mysqld.log查看錯誤信息。再錯誤信息排錯。

以上就是本身在安裝hadoop和hive的過程當中遇到的問題,作個記錄。

相關文章
相關標籤/搜索