先确保你已经成功安装了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'@'%' 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数据库中的元数据信息