由於MySQL便於管理,在學習過程中,我選擇MySQL。
一,配置後設資料庫。
1、安裝MySQL,採用yum方式。
①yum install mysql-server,安裝mysql服務端,安裝服務端的同時,也會把mysql的客戶端安裝好。
②資料庫字符集設定。
mysql配置檔案/etc/my.cnf中加入default-character-set=utf8
指令如下:
vi /etc/my.cnf
加入default-character-set=utf8
③啟動mysql服務和部分指令
1 service mysqld start 2 sudo chkconfig mysqld on//設定mysql開機啟動 3 chkconfig --list | grep mysql*//開機啟動設定是否成功 4 mysqladmin -u root password ****//建立root超級管理員 5 mysql -uroot –p******//登入mysql
④建立hive資料庫
create database hive;
⑤設定hive庫的字符集
alter database hive character set latin1;
⑥對其他IP放開訪問許可權:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'master' IDENTIFIED BY '123456' WITH GRANT OPTION;
2、修改hive的資料庫為mysql
①把mysql的驅動上傳到相對應的目錄下。
mysql-connector-java-5.1.17.jar包放在 /opt/cloudera/parcels/CDH/lib/hive/lib/下。
②複製到其他節點
scp ./mysql-connector-java-5.1.17.jar slave:/opt/cloudera/parcels/CDH/lib/hive/lib/
③修改/etc/hive/conf/hive-site.xml 裡增加hive後設資料庫連結屬性
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <property> <name>hive.metastore.local</name> <value>true</value> </property>
Hive.metastore.local 是否為本地庫,如果 mysql 在當前主機上,就設定 true ,否則為 false 。
④在cm裡修改hive的配置,把資料庫連線修改為mysql
儲存更改後,重新啟動hive。
⑤hadoop fs -chmod 777 /user,修改許可權。