hive集成MySql数据库
来源:互联网 发布:淘宝7天下架什么意思 编辑:程序博客网 时间:2024/05/05 14:24
前提假设本地已经安装好,hadoop、hive、MySql。目前hadoop、hive我是安装在本地机器的Linux虚拟机上。MySql安装在本地机器上(win7)。
1、在Hive的conf目录下的文件“hive-site.xml”中增加如下配置:
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://数据库IP地址:3306/hive?characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>数据库用户名</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>数据库密码</value>
</property>
2、将mysql的驱动包(mysql-connector-java-5.1.28.jar)放在hive安装目录Lib下(/usr/local/soft/hive/hive-0.14.0/lib)
此时就应该配置好了。但是在运行期间可能会报错:Host '****' is not allowed to connect to this MySQL server
这个表示你的MySql帐号不允许从远程登陆,也就是不允许从虚拟机连接到MySql上。
解决方式:登录本地MySql数据库:其中有一个mysql的database(数据库默认的),先查看一下user表的数据,如图:
在上图的Hosts列提示:只允许本地IP访问这个数据库
此时user表中增加一条数据即可,数据中的Host列是需要访问这个mysql的IP(即虚拟机的IP)。
增加数据后需要执行:flush privileges;(将一些Mysql配置重新加载到内存中,不用重新数据库了)即可。
sql如下:
insert into `User`
select '192.168.80.100',User,Password,Select_priv,Insert_priv,
Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,
Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,
Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,
Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,
Create_routine_priv,Alter_routine_priv,Create_user_priv,Event_priv,
Trigger_priv,Create_tablespace_priv,ssl_type,ssl_cipher,x509_issuer,
x509_subject,max_questions,max_updates,max_connections,
max_user_connections,plugin,authentication_string,password_expired
from user where host='localhost'
3、安装好了,测试是否成功
1) 在hive命令行创建一个表 create table hive_mysql (id int,name string);
2)在插入一些数据 insert into table hive_mysql values(1,'aaa');
3)此时会发现mysql的hive数据库中会增加一些表。如 表:columns_v2描述了一些 id 和name类型的一个表。
此时说明安装成功
如果在建表是出现:Specified key was too long; max key length is 767 bytes
执行 alter database hive character set latin1; 即可
参考资料:http://blog.csdn.net/lengzijian/article/details/7045538
- hive集成MySql数据库
- Hive集成Mysql,ubuntu12虚拟机。
- Hive集成Mysql作为元数据
- Hive集成Mysql作为元数据
- Hive集成Mysql作为元数据
- MySql安装及集成Hive手册
- Hive安装与部署集成mysql
- Hive集成Mysql作为元数据
- HIVE元数据库改为mysql
- Eclipse如何集成MySQL数据库
- spark集成hive遭遇mysql check失败的问题
- 使用mysql做hive metadata 数据库
- 使用mysql作为hive的元数据库
- hive的安装(元数据库: MySQL)
- hive配置远程mysql做metadate数据库
- hive-0.12.0安装(搭配mysql数据库)
- ubuntu hive无法初始化mysql元数据库
- cloudera的各种默认数据库 hive mysql
- iOS开发UI篇—popoverController使用注意
- Ajax请求中的async设置为false/true的区别
- MVC .NET的FormsAuthentication.SetAuthCookie在IE10中无效的问题
- 编程相关,OJ题常见错误,及做题总结
- 多线程并发流程控制之dispatch_group 有关函数
- hive集成MySql数据库
- android 下载zip文件并解压
- 黑马程序员——IO流
- 【MySQL】使用不到索引的情况
- POJ3255 Roadblocks 次短路Dijkstra做法
- 杭电ACM2091--空心三角形
- Swift游戏开发之俄罗斯方块:No.2 准备工作
- 数据表的基本操作之创建数据表
- 基于Android2.3.5系统:JNI与HAL实例解析[二]