Hive安裝以及和Mysql關聯

一、Hive的安裝地址

1.Hive官網地址

http://hive.apache.org/

2.文檔查看地址

https://cwiki.apache.org/confluence/display/Hive/GettingStarted

3.下載地址

http://archive.apache.org/dist/hive/

4.github地址

https://github.com/apache/hive

二、Hive的安裝

1、上傳和解壓

$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/

2、修改/opt/module/hive/conf目錄下的hive-env.sh.template名稱爲hive-env.sh

$ mv hive-env.sh.template hive-env.sh

3、配置hive-env.sh文件

(a)配置HADOOP_HOME路徑

export HADOOP_HOME=/opt/module/hadoop-2.7.2

(b)配置HIVE_CONF_DIR路徑

export HIVE_CONF_DIR=/opt/module/hive/conf

4.啓動hadoop集羣和創建目錄

(1)必須啓動hdfs和yarn

$ sbin/start-dfs.sh

$ sbin/start-yarn.sh

(2)在HDFS上創建/tmp和/user/hive/warehouse兩個目錄並修改他們的同組權限可寫

bin/hadoop fs -mkdir /tmp

bin/hadoop fs -mkdir -p /user/hive/warehouse

 

bin/hadoop fs -chmod g+w /tmp

bin/hadoop fs -chmod g+w /user/hive/warehouse

5、Hive基本操作-----與mysql及其類似

(1)啓動hive

$ bin/hive

(2)查看數據庫

hive> show databases;

(3)打開默認數據庫

hive> use default;

(4)顯示default數據庫中的表

hive> show tables;

(5)創建一張表

hive> create table student(id int, name string);

(6)顯示數據庫中有幾張表

hive> show tables;

(7)查看錶的結構

hive> desc student;

(8)向表中插入數據

hive> insert into student values(1000,"ss");

(9)查詢表中數據

hive> select * from student;

(10)退出hive

hive> quit;

三、MySql安裝-存儲元數據----一定是root用戶

1、 安裝包準備

1).查看mysql是否安裝,如果安裝了,卸載mysql

(1)查看    [root@hadoop102 桌面]# rpm -qa|grep mysql

(2)卸載   [root@hadoop102 桌面]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64

2).解壓mysql-libs.zip文件到當前目錄

解壓zip

[root@hadoop102 software]# unzip mysql-libs.zip 

[root@hadoop102 software]# ls

mysql-libs.zip

mysql-libs

3).進入到mysql-libs文件夾下

[root@hadoop102 mysql-libs]# ll

總用量 76048

-rw-r--r--. 1 root root 18509960 3月  26 2015 MySQL-client-5.6.24-1.el6.x86_64.rpm

-rw-r--r--. 1 root root  3575135 12月  1 2013 mysql-connector-java-5.1.27.tar.gz

-rw-r--r--. 1 root root 55782196 3月  26 2015 MySQL-server-5.6.24-1.el6.x86_64.rpm

2、 安裝MySql服務器

1).安裝mysql服務端

[root@hadoop102 mysql-libs]# rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm

2).查看產生的隨機密碼---爲了登錄使用

[root@hadoop102 mysql-libs]# cat /root/.mysql_secret

OEXaQuS8IWkG19Xs

3).查看mysql狀態

[root@hadoop102 mysql-libs]# service mysql status

4).啓動mysql

[root@hadoop102 mysql-libs]# service mysql start

3、 安裝MySql客戶端

1).安裝mysql客戶端

[root@hadoop102 mysql-libs]# rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm

2).鏈接mysql

[root@hadoop102 mysql-libs]# mysql -uroot -pOEXaQuS8IWkG19Xs

3.修改密碼

mysql>SET PASSWORD=PASSWORD('000000');

4.退出mysql

mysql>exit

4、 MySql中user表中主機配置

需要修改配置讓只要是root用戶+密碼,在任何主機上都能登錄MySQL數據庫。

1).進入mysql   [root@hadoop102 mysql-libs]# mysql -uroot -p000000

2).顯示數據庫

mysql>show databases;

3).使用mysql數據庫

mysql>use mysql;

4).展示mysql數據庫中的所有表

mysql>show tables;

5).展示user表的結構

mysql>desc user;

6).查詢user表

mysql>select User, Host, Password from user;

7).修改user表,把Host表內容修改爲%

mysql>update user set host='%' where host='localhost';

8).刪除root用戶的其他host

mysql>delete from user where Host='hadoop102';

mysql>delete from user where Host='127.0.0.1';

mysql>delete from user where Host='::1';

9).刷新----千萬別忘了

mysql>flush privileges;

10).退出

mysql>quit;

四、 Hive元數據配置到MySql

1、 驅動拷貝和複製到hive的lib目錄

$  tar -zxvf mysql-connector-java-5.1.27.tar.gz

$ cp mysql-connector-java-5.1.27-bin.jar   /opt/module/hive/lib/

2、 配置Metastore到MySql

1).在/opt/module/hive/conf目錄下創建一個hive-site.xml

$ vi hive-site.xml

2).根據官方文檔配置參數,拷貝數據到hive-site.xml文件中

https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin

配置jdbc的四個選項:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
	  <name>javax.jdo.option.ConnectionURL</name>
	  <value>jdbc:mysql://hadoop102: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>000000</value>
	  <description>password to use against metastore database</description>
	</property>
</configuration>

3.配置完畢後,如果啓動hive異常,可以重新啓動虛擬機。(重啓後,別忘了啓動hadoop集羣)

五、HiveJDBC訪問

1   啓動hiveserver2服務  $ bin/hiveserver2

2 啓動beeline  $ bin/beeline

3 連接hiveserver2

beeline> !connect jdbc:hive2://hadoop102:10000(回車)

Connecting to jdbc:hive2://hadoop102:10000

Enter username for jdbc:hive2://hadoop102:10000: 用戶名(回車)

Enter password for jdbc:hive2://hadoop102:10000: (直接回車)

Connected to: Apache Hive (version 1.2.1)

Driver: Hive JDBC (version 1.2.1)

Transaction isolation: TRANSACTION_REPEATABLE_READ

 

 

 

發佈了53 篇原創文章 · 獲贊 37 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章