由於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,修改權限。