準備環境: hadoop基礎環境(3.1.3) Hive版本 3.1.2
下載下傳位址:
https://hive.apache.org/downloads.htmlHive3.X版本支援Hadoop3.X,Hive2.0版本支援Hadoop2.X
1、上傳安裝包,解壓檔案
tar -zxvf 對應包名
2、 建立軟連接配接
ln -s apache-hive-1.2.2-bin hive
3、修改環境變量
vim ~/.bash_profile
修改完成使環境變量立即生效
source ~/.bash_profile
4、修改配置檔案名
mv hive-env.sh.template hive-env.sh
5、進入該檔案,配置hadoop路徑與hive_conf路徑
6、在hdfs上建立相關目錄,附加相關權限
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir /tmp
hdfs dfs -chmod g+w /tmp /user/hive/warehouse
7、啟動hive(在此之前需要保證hdfs、yarn已啟動)
這裡需要注意
1)如果hadooplib中的相關jar包與hive中的jar包沖突會導緻啟動失敗:相關問題見連結
http://www.bubuko.com/infodetail-3286965.html2)執行檢視庫hql語句,一開始沒有執行初始化庫操作導緻啟動失敗,hive存儲中繼資料的預設庫為derby。
https://blog.csdn.net/lz6363/article/details/95805446初始化相關指令
schematool -dbType derby -initSchema
至此hive初步環境搭建完成。
8、更改hive存放中繼資料資料庫為mysql,這裡首先介紹mysql資料庫的安裝步驟
1)首先下載下傳下載下傳并安裝MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2)安裝MySQL伺服器
yum -y install mysql57-community-release-el7-10.noarch.rpm
3)啟動mysql并檢視mysql狀态
systemctl start mysqld.service
systemctl status mysqld.service
顯示active,啟動成功。
4)檢視初始密碼
grep "password" /var/log/mysqld.log
5)登入mysql資料庫并修改密碼
mysql -uroot -p
這裡需要注意的是,如果密碼設定過于簡單會報錯
原因是因為MySQL有密碼設定的規範,具體是與validate_password_policy的值有關:
修改一下密碼規則
set global validate_password_policy=0;
set global validate_password_length=1;
此時在修改密碼就可以了
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
6)檢視資料庫
show databases;
9、 在hive/conf目錄中建立檔案 hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://172.16.25.27:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
10、下載下傳mysql驅動包,将相關依賴jar包導入到/hive/lib檔案夾下
https://dev.mysql.com/downloads/file/?id=496585mysql 5.7 用8.0版本的驅動可以,5.1版本也可以
配置完畢,啟動Hive,收工。