hive安裝及配置

軟件及其版本
Ubuntu1604
hadoop2.7.2
hive2.3.4
xshell
xftp
1.確定使用hive的用戶,我的是hadoop用戶,使用xftp將apache-hive-2.3.4-bin.tar.gz移動到hadoop目錄下,並解壓到指定目錄

tar -zxvf apache-hive-2.3.4-bin.tar.gz -C /home/hadoop/hadoop_home //這是我的解壓目錄

2.配置環境變量

vim ~/.profile //注意,是hadoop用戶
//添加以下內容
export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin

3.修改文件hive-env.sh.template爲hive-env.sh
hive-env.sh.template在/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf目錄下
在這裏插入圖片描述我已經修改過了。

cp hive-env.sh.template hive-env.sh 

vim hive-env.sh
//在hive-env.sh中添加hadop安裝路徑,Java安裝路徑,hive安裝路徑,hive配置文件路徑
export JAVA_HOME=/home/hadoop/hadoop_home/jdk1.8.0_181    ##Java路徑
export HADOOP_HOME=/home/hadoop/hadoop_home   ##Hadoop安裝路徑
export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin    ##Hive安裝路徑
export HIVE_CONF_DIR=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf    ##Hive配置文件路徑

4.安裝mysql

//hadoop用戶
sudo apt-get install mysql-server
//如果hadoop沒有sudo權限,建議使用root用戶
//root用戶
apt-get install mysql-server

安裝過程中會提示爲MySQL數據庫的root用戶設置密碼。
5.hadoop用戶登錄mysql

su hadoop
mysql -u root -proot

在這裏插入圖片描述

//mysql執行以下命令,創建mysql遠程連接
mysql> CREATE DATABASE hive; 
mysql> USE hive; 
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive'; //表示只能從當前主機登錄
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; //如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符% 
mysql> FLUSH PRIVILEGES; //刷新系統權限表 
mysql> quit;//退出mysql

6.創建HDFS目錄。在 Hive 中創建表之前需要創建以下 HDFS 目錄並給它們賦相應的權限。

hdfs dfs -mkdir -p /user/hive/warehouse//倉庫
hdfs dfs -mkdir -p /user/hive/tmp//緩存
hdfs dfs -mkdir -p /user/hive/log//日誌
hdfs dfs -chmod g+w /user/hive/warehouse
hdfs dfs -chmod g+w /user/hive/tmp
hadoop fs -chmod -R 777 /user/hive/tmp
hdfs dfs -chmod g+w /user/hive/log

7.配置jdbc的驅動
將mysql-connector-java添加到 $HIVE_HOME/lib 目錄下。
我安裝時使用的是 mysql-connector-java- 5.1.47.jar。
下載地址:https://dev.mysql.com/downloads/connector/j/

8.修改hive-site.xml文件,在/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf目錄下。

<property>
	<name>hive.exec.scratchdir</name>
	<value>/user/hive/tmp</value>
</property>
<property>
	<name>hive.metastore.warehouse.dir</name>
	<value>/user/hive/warehouse</value>
</property>
<property>
	<name>hive.querylog.location</name
	<value>/user/hive/log</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionDriverName</name>
	<value>com.mysql.jdbc.Driver</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionUserName</name>
	<value>hive</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionPassword</name>
	<value>hive</value>
</property>

9.root用戶創建/usr/local/hive/tmp,並給予hadoop用戶所有權限

mkdir -p /usr/local/hive/tmp
chown -R hadoop:hadoop /usr/local/hive/tmp

10.開啓HDFS,運行schematool命令執行初始化操作,然後運行hive.

start-dfs.sh//開啓HDFS
schematool -dbType mysql -initSchema//初始化
hive//運行hive

在這裏插入圖片描述

這是小可的一點經驗,如果有不準確的地方,歡迎大佬批評指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章