ITPub博客

首页 > > > Install Hive

Install Hive

作者:longmanma 时间:2019-12-17 18:01:11 0 删除 编辑

一、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连接<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://192.168.1.152:3306/jack?createDatabaseIfNotExist=true</value><description>JDBC connect stringfora JDBC metastore</description></property>----Mysql连接驱动:<property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class namefora JDBC metastore</description></property>----登陆Mysql的用户名:<property><name>javax.jdo.option.ConnectionUserName</name><value>jack</value><description>usernametouseagainst metastoredatabase</description></property>----登陆Mysql的用户jack的密码:<property><name>javax.jdo.option.ConnectionPassword</name><value>jack</value><description>passwordtouseagainst metastoredatabase</description></property>----指定本地登陆mysql还是远程:(我这里是远程)<property><name>hive.metastore.local</name><value>false</value><description>controls whethertoconnecttoremove metastore serveroropena new metastore serverinHive Client JVM</description></property>----Hive表数据存放目录,自带默认值:<property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value><description>locationofdefaultdatabaseforthe warehouse</description></property>----Hive临时文件存放目录,使用默认值即可:<property><name>hive.exec.scratchdir</name><value>/tmp/hive-${user.name}</value><description>ScratchspaceforHive jobs</description></property>

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

5、最后对hive进行测试

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

当在hive中droptable 时如果报以下错时

FAILED: Error inmetadata: javax.jdo.JDODataStoreException: Error(s) were foundwhileauto-creating/validating the datastoreforclasses. The errors are printedinthelog,andare attachedto this exception.

NestedThrowables:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified keywas toolong;maxkeylengthis767 bytes

FAILED: Execution Error, returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTask

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2730/viewspace-3171464/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-12-18

  • 博文量
    492
  • 访问量
    11987