hive mysql 远程_Hive配置 远程连接MySQL
因为hive是Hadoop的一个组件,作为数据厂库,hive的数据是存储在Hadoop的文件系统中的,hive为Hadoop提供SQL语句,是Hadoop可以通过SQL语句操作文件系统中的数据。hive是依赖Hadoop而存在的。
因此hive的安装详解,请参考博客:http://blog.csdn.net/qq_38799155/article/details/77605615
在hadfs上创建目录并修改权限
hadoop fs -mkdir /tmp
hadoop fs -mkdir /user/hive/warehouse
hadoop fs -chmod 777 /tmp
hadoop fs -chmod 777 /user/hive/warehouse
最重要的是对hive/conf/中的hive-site.xml文件进行配置 ,配置如下:
javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.150.1:3306/hive_metadata?createDatabaseIfNotExsit=true&characterEncoding=UTF-8
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
mysql
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
datanucleus.schema.autoCreateAll
true
hive.metastore.schema.verification
false
这里需要注意有几个问题,很重要!!!
1. 远程访问mysql用在xml里配置上述代码就够了,其他教程里一直添加其他变量,实际上并不需要
2. jdbc:mysql://192.168.150.1:3306/hive? 这里必须是hive,我之前设置成其他数据库名字,发现执行时候一直报错。
3. 为了连接mysql需要在hive的lib中添加mysql connection的jar包
4. 同时启动时候可能会出现问题需要将/home/hadoop-2.7.3/share/hadoop/yarn/目录下的jline jar包删除
然后可以直接启动hive了;
启动hive后可以看到远程mysql下多了个hive数据库
然后创建table譬如create table test(id int);
可以看到在hive的tbls表格TBL_Name下回多一个test表格
同时hdfs的/user/hive/warehouse下也会多一个test表格
总结
以上是生活随笔为你收集整理的hive mysql 远程_Hive配置 远程连接MySQL的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: sqlite 导入 mysql_SQLi
- 下一篇: mysql慢sql增加读写分离_MySQ