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绑定本地mysql为元数据库_第1张图片


重命名为hive

hive绑定本地mysql为元数据库_第2张图片


2. 配置hive

配置hive环境变量:

#vim /etc/profile

hive绑定本地mysql为元数据库_第3张图片

修改并保存完后记得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绑定本地mysql为元数据库_第4张图片

成功!接下来就可以使用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

hive绑定本地mysql为元数据库_第5张图片

然后就不会有这个warning了。



你可能感兴趣的:(mysql,hive,元数据库)