Hive 元数据配置到 MySql
一、配置mysql
MySql 中 user 表中主机配置
配置只要是 root 用户+密码,在任何主机上都能登录 MySQL 数据库。
1、进入MySQL数据库并使用mysql数据库
use mysql;
2、展示 user 表的结构
desc user;
3、查询 user 表
select User, Host, Password from user;
4、修改 user 表,把 Host 表内容修改为%
update user set host='%' where host='localhost';
5、删除 root 用户的其他 host
delete from user where Host='hadoop102';
delete from user where Host='127.0.0.1';
delete from user where Host='::1';
6、刷新(一定要刷新否则修改的不会生效)
flush privileges;
7、退出
quit;
二、配置hive
1、驱动拷贝
拷贝 mysql-connector-java-5.1.27-bin.jar 到/opt/module/hive/lib/
[root@hadoop102 mysql-connector-java-5.1.27]# cp /usr/local/src/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/local/src/hive/lib/
2、 配置 Metastore 到 MySql
1.在 hive/conf 目录下创建一个 hive-site.xml
[root@master conf]# touch hive-site.xml
[root@master conf]# vi hive-site.xml
2.配置 hive-site.xml
<configuration>
<property>
<!--判断mysql中是否有metastore数据库,若没有就创建-->
<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>
<!--设置mysql登录用户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<!--设置mysql登录密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>000000</value>
<description>password to use against metastore database</description>
</property>
</configuration>
3.配置完毕后,如果启动 hive 异常,可以重新启动虚拟机。(重启后,别忘了启动 hadoop 集群)
三、多窗口启动 Hive 测试
1.先启动 MySQL
[root@master hive]# mysql -uroot -p000000
查看有几个数据库
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
±-------------------+
2.再次打开多个窗口,分别启动 hive
[root@master hive]# bin/hive
3.启动 hive 后,回到 MySQL 窗口查看数据库,显示增加了 metastore 数据库
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| metastore |
| mysql |
| performance_schema |
| test |
±-------------------+