hive绑定本地mysql为元数据库

突然想起来之前写过一篇关于将hive元数据库从默认的本地derby更改为绑定到远程mysql的文章,在云笔记里面翻了一下发现还真在,现在分享给各位~~


环境:

操作系统:Centos6.5
mysql:5.6
hive:0.13.1
hadoop:1.2.1


一、配置mysql

1. 安装mysql(参照《centos mysql安装与配置(非默认安装)》)


2. mysql中创建hive元数据库,名为hive
mysql>create database hive;
技术分享


3. 对Hadoopuser授权

注意,此处的密码必须和hive-site.xml 中javax.jdo.option.ConnectionPassword的密码一致

技术分享



二、安装配置hive


1. 安装hive

技术分享


重命名为hive

技术分享


2. 配置hive

配置hive环境变量:

#vim /etc/profile

技术分享

修改并保存完后记得source一下

#source /etc/profile


复制一份hive-env.sh.template 模板重命名为hive-env.sh,并修改内容:

#cp hive-env.sh.template hive-env.sh

#vim hive-env.sh

技术分享

修改hadoop_home为hadoop安装路径


复制一份hive-default.xml.template重命名为hive-site.xml

#cp hive-default.xml.template hive-site.xml 

#vim hive-site.xml

技术分享


更改hive-site.xml中以下内容:

技术分享

技术分享

注意:

<property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://localhost/hive?createDatabaseIfNotExist=true</value>

    <description>JDBC connect string for a JDBC metastore</description>

</property>

标红位置是使用的mysql数据库名字,所以一定要赋予mysql用户对hive的全部权限。

技术分享

这里是配置登录到mysql的用户名和密码,是之前在mysql中设置好并赋予了足够权限的。


添加hive安装目录下lib目录下缺少的mysql-connector-java-5.1.34.tar.gz 包。

下载地址:http://ftp.jaist.ac.jp/pub/mysql/Downloads/Connector-J/

技术分享

(之前把该文件放入了sqoop目录下,所以直接从那儿进行copy)


切换进hvie目录,启动元数据服务进程

hive#./bin/hive --service metastore

技术分享


新建一个连接或终端,进入hive:

技术分享

成功!接下来就可以使用hive进行操作了。



关于


WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect.  Use hive.hmshandler.retry.* instead


解决方法:

将hive下配置文件hive-site.xml中hive.metastore.ds.retry有关的配置替换为hive.hmshandler.retry

技术分享

技术分享

然后就不会有这个warning了。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。