一、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