如何将hive与mysql连接_hive与mysql的连接(本地安装模式)

由于hive的内嵌安装方式是将元数据存储在derby中,每次打开时候都会在其当前工作目录下创建一个derby文件和一个m**文件很不方便,而且这种方式是单用户连接模式,所以我们用hive的本地安装模式,即将hive的元数据存储到mysql中。

首先我们安装mysql,这里我用的是yum安装

yum install mysql-server   (mysql的服务器)

yum install myql                (mysql的客户端)

yum install mysql-devel     (开发用到的库以及包含文件)

1、Mysql的安装(即mysql服务的安装)

如果操作系统能够联网(或者有本地yum仓库)且安装有yum,可直接使用yum进行安装,比较方便,命令如下:

# >yum install mysql-server

如果操作系统无法联网(也没有本地yum仓库)则可以使用rpm包的方式进行安装,需要注意的是,由于操作系统上所含有的软件多少不确定,所以安装过程中可能需要解决包依赖问题,在此不再赘述。

2、Mysql服务启动

安装完成后需要启动mysql的服务才能进行给超级用户设置密码等操作,注意:mysql服务的名字是mysqld。启动命令如下:

# >service mysqld start    #启动mysql服务需要root权限

查看mysql服务的状态命令如下:

# >service mysqld status

3、给root用户添加密码和任意主机访问的权限

首先进入mysql:

# >mysql -u root

然后给root用户添加密码(现在已经进入mysql控制台,直接执行下列sql即可):

mysql >update mysql.user set password=PASSWORD ('root') where User='root';

添加完成后须刷新权限才能生效:

mysql >flush privileges;

查询用户所拥有的访问权限信息的命令如下:

mysql >select host,user,password from mysql.user;

可以看到,初始情况下:root用户只能通过mysql服务所在的机器本身来进行访问

有时我们因为种种原因无法直接登录到mysql服务器上操作,所以我们可以通过修改配置以达到root用户可以使用任意主机访问数据库,这样做的好处是我们可以远程进行数据操作,还可以使用可视化工具提高操作效率。命令如下:

mysql >update mysql.user set host = '%' where user = 'root' and host = '127.0.0.1';

操作完成后须刷新权限才能生效:

mysql >flush privileges;

配置hive使用mysql来存储hive的元数据   在mysql中先创建一个用来存放hive元数据的数据库hive

mysql >create database hive;(注意:这里创建的数据库的名字必须是hive,我测试了尝试用其他的名字结果hive根本起不来,可见这里应该是系统内部设定的)

进入配置文件目录:

(1)cd   $hive_home/conf

(2).将hive-default.xml.template文件拷贝并重命名成hive-site.xml:

mv hive-default.xml.template hive-site.xml

(3).清空文件中之间的内容并加入下列内容:

javax.jdo.option.ConnectionURL

jdbc:mysql://kang01:3306/hive?characterEncoding=UTF-8

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

root

javax.jdo.option.ConnectionPassword

root

(4).将mysql的驱动jar包添加到$hive_home的lib目录下

配置hive、hadoop的环境命令:sudo vi /etc/profileexport JAVA_HOME=/home/hadoop/develop_env/jdk1.7.0_79

export HADOOP_HOME=/home/hadoop/develop_env/hadoop-2.7.1

export ZOOKEEPER=/home/hadoop/develop_env/zookeeper-3.4.7

export HIVE_HOME=/home/hadoop/develop_env/hive-1.2.1

export HIVE_CONF_DIR=${HIVE_HOME}/conf

export FLUME_HOME=/home/hadoop/develop_env/flume-1.6.0

export SQOOP_HOME=/home/hadoop/develop_env/sqoop-1.4.6

export HBASE_HOME=/home/hadoop/develop_env/hbase-1.1.2

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER/bin:$HIVE_HOME/bin:$FLUME_HOME/bin:$SQOOP_HOME/bin:$HBASE_HOME/bin

然后别忘了敲:source /etc/profile

然后命令行输入hive即可

你可能感兴趣的:(如何将hive与mysql连接)