博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Install Hive
阅读量:7064 次
发布时间:2019-06-28

本文共 2564 字,大约阅读时间需要 8 分钟。

一、Hive将元数据存储在RDBMS中,有三种模式可以连接到数据:

1、single User Mode:此模式连接到一个In-memory的数据库Derby,一般用于Unit Test。

2、Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的模式。

3、Remote Server Mode:用于非Java客户端访问元数据库,在服务器端启动一个MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库。

二、暂略

三、暂略

四、MySQL做元数据库模式

1、解压hive的压缩包

2、把mysql-connector-java-5.1.10-bin.jar包复制到hive的lib目录下

[hadoop@node3 lib]$ ll mysql-connector-java-5.1.10-bin.jar -rw-r--r-- 1 root root 724225 Sep 17 17:03 mysql-connector-java-5.1.10-bin.jar[hadoop@node3 lib]$ pwd/app/hive/lib

3、配置hive

----将hive-default.xml.template拷贝成hive-site.xml----修改hive-site.xml文件----添加、修改如下信息:----Mysql连接
javax.jdo.option.ConnectionURL
jdbc:mysql://192.168.1.152:3306/jack?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
----Mysql连接驱动:
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
----登陆Mysql的用户名:
javax.jdo.option.ConnectionUserName
jack
username to use against metastore database
----登陆Mysql的用户jack的密码:
javax.jdo.option.ConnectionPassword
jack
password to use against metastore database
----指定本地登陆mysql还是远程:(我这里是远程)
hive.metastore.local
false
controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM
----Hive表数据存放目录,自带默认值:
hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse
----Hive临时文件存放目录,使用默认值即可:
hive.exec.scratchdir
/tmp/hive-${
user.name}
Scratch space for Hive jobs

4、安装配置mysql并且创建jack的用户和数据库

5、最后对hive进行测试

五、hive的元数据存储在mysql后,报错的解决方法

当在hive中drop table 时如果报以下错时   FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were found while auto-creating/validating the datastore for classes. The errors are printed in the log, and are attached to this exception.NestedThrowables:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytesFAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

解决的方法是到mysql中的hive数据库里执行 alter database hive character set latin1;改变Hive元数据库的字符集。

转载地址:http://nxnll.baihongyu.com/

你可能感兴趣的文章
web.xml中的*.jsp如果当welcome-file,eclipse在下次跑的时候不自动更新到tomcat中的问题(eclipse可以去死了)...
查看>>
NettyIO
查看>>
重写重要的库函数
查看>>
NYOJ176 整数划分(二)
查看>>
Spring IoC容器初始化过程学习
查看>>
后缀树
查看>>
Java中的代理
查看>>
顺序表的静态建立
查看>>
Java反射(Reflection)获取运行时类的结构
查看>>
来美国一年半了,命里有时终须有,命里无时莫强求(2)
查看>>
swiper轮播图(逆向自动切换类似于无限循环)
查看>>
阿里云域名解析+网站备案
查看>>
转载文章 RESIZING WIN32 DIALOGS
查看>>
开发规范(一) 如何记录日志 By 阿里
查看>>
1117bootstrap
查看>>
centos6.5上卸载和安装JDK7
查看>>
从文件加载至NSData
查看>>
Java连接访问Oracle--Connection.setSavepoint()方法使用
查看>>
LeetCode OJ:Maximal Square(最大矩形)
查看>>
抽象工厂 C++实现
查看>>