本篇記錄了Hive的安裝,由於Metastore默認存儲在自帶的derby數據庫中,derby數據庫只能開一個一個客戶端,無法滿足集群的業務需求,推薦使用MySQL存儲Metastore;這里Hive版本為1.2.1
(一)Hive安裝
1,將Hive安裝包,上傳到software目錄下,同樣解壓到module目錄下
2,將hive的名字改為hive
3,修改/opt/module/hive/conf目錄下的hive-env.sh.template名稱為hive-env.sh
4,配置hive-env.sh文件
5,啟動HDFS,Yarn
6,在HDFS上創建/tmp和/user/hive/warehouse兩個目錄
7,啟動Hive
(二)安裝mysql
1,查看mysql是否安裝,如果安裝了,卸載mysql
2,解壓mysql-libs.zip文件到當前目錄
3,安裝mysql服務端
4,查看產生的隨機密碼
5,查看mysql狀態
6,啟動mysql
7,安裝mysql客戶端
8,鏈接mysql。這里面的密碼,是4中的隨機密碼
9,修改密碼
10, MySql中user表中主機配置。
配置只要是root用戶+密碼,在任何主機root上都能登錄MySQL數據庫[解決用戶權限的問題]。
(三)Hive元數據配置到MySql
1,驅動拷貝。拷貝/opt/software/mysql-libs/mysql-connector-java-5.1.27目錄下的mysql-connector-java-5.1.27-bin.jar到/opt/module/hive/lib/
2,配置Metastore到MySql
在/opt/module/hive/conf目錄下創建一個hive-site.xml,並加入下面代碼
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master: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測試