1. 为什么集成mysql来替换Derby
默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试。实际生产环境中不使用,为了支持多用户会话,
则需要一个独立的元数据库,使用MySQL作为元数据库,Hive内部对MySQL提供了很好的支持。
2.在Ubuntu系统下安装并配置MySQL
2.1 安装MySQL
sudo apt-get install mysql-server
上述命令会安装以下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了MySQL。
2.2 确认是否启动成功
2.3 进入mysql shell界面
3.配置MySQL数据库允许hive接入
3.1 新建hive数据库,用来保存hive的元数据
mysql> create database hive;
3.2 将hive数据库下的所有表的所有权限赋给hadoop用户,并配置mysql为hive-site.xml中的连接密码,然后
刷新系统权限关系表
mysql> CREATE USER 'hadoop'@'%' IDENTIFIED BY 'mysql';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' WITH GRANT OPTION;
mysql> flush privileges;
需要注意的是,在ubuntu系统里,默认情况下MySQL只允许本地登录,所以需要修改配置文件将地址绑定注释。
sudo vi /etc/mysql/my.cnf
找到 # bind-address = 127.0.0.1 注释掉这一行就可以啦
3.3 修改hive-site.xml,设置MySQL为默认的meta数据库
3.4 将mysql-connector-java-***.jar,复制到hive安装目录下的lib下
需要下载mysql的jdbc
下载链接是:http://dev.mysql.com/downloads/connector/j/
也可以从我的云盘下载 链接是:https://pan.baidu.com/s/1i5mTBEH 密码是:xbf
3.5 测试hive数据库是否可以正常使用
转至:http://www.cnblogs.com/kinginme/p/7249533.html