由于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,修改权限。