天天看點

Hive環境搭建

準備環境: hadoop基礎環境(3.1.3) Hive版本 3.1.2

下載下傳位址:

https://hive.apache.org/downloads.html

Hive3.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.html

2)執行檢視庫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=496585

mysql 5.7 用8.0版本的驅動可以,5.1版本也可以

配置完畢,啟動Hive,收工。