使用MYSQL作为HIVE的METASTORE

 

先确保你已经成功安装了HIVE和MYSQL

在hive-site.xml中添加如下内容,指定METASTORE的地址以及连接方式,hive和mysql的安装不再赘述。

一、在mysql中创建好需要使用的用户比如hadoop

mysql> CREATE USER 'hadoop'@'localhost' IDENTIFIEDBY 'hadoop';

       如果是远程需要把localhost设置为远程的IP或者是%,%意味着在所有机器上可以访问。

二、对该用户赋相应的权限,如:

写道

GRANT ALL PRIVILEGES ON *.* TO'hadoop'@'localhost' WITH

 

   在远程机器访问则设置为

 GRANT ALL PRIVILEGES ON *.* TO'hadoop'@'%' WITH

   如果考虑到安全策略需要设为为:

    GRANT ALL PRIVILEGES ON *.* TO'hadoop'@'10.6.42.101' WITH

    10.6.42.101为需要登录的机器IP。

三、关闭防火墙

    linux下使用root用户

    $ sudo ufw disable

 

  window下,到我的面板中把防火墙关闭。

四、修改修改配置文件hive-default.xml

   <property>

          <name>hive.metastore.local</name>
          <value>true</value>
</property>

<property>
          <name>javax.jdo.option.ConnectionURL</name>
          <value>
           jdbc:mysql://localhost:3306/hivecreate?DatabaseIfNotExist=true
          </value>
</property>
<property>
          <name>javax.jdo.option.ConnectionDriverName</name>
          <value>com.mysql.jdbc.Driver</value>
</property>
<property>
          <name>javax.jdo.option.ConnectionUserName</name>
          <value>Username</value><!--刚才建的mysql中的用户名-->
</property>
<property>
          <name>javax.jdo.option.ConnectionPassword</name>
          <value>UserPassword</value><!--对应的DB用户密码-->
</property>

    如果mysql和hive不是一台机器,需要修改localhost为安装mysql的IP地址.需要说明是mysql上的database,hivecreate本应该是不需要建立的,但是我在实际安装时,如果没有现在mysql中建,会连接不上。因此可能需要在mysql中事先建database

  mysql>create database hivecreate;

五、下载mysql jdbc driver,将其拷贝至hive安装目录lib文件夹下

六、测试hive

   在hive命令下,show tables;

   如果执行成功就说明已经成功了。就可以登录mysql,查看hive数据库中的元数据信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值