hive默认derby数据库,保存hive元数据信息,derby 只支持一个链接,单链接。第一次执行会将metastore_db占用
切换目录执行hive会在当前目录下创建metastore_db,但是数据是空的。
需要mysql保存hive元数据信息。
hive整合mysql
在其他节点机器上安装mysql
- mv hive-default.xml.template hive-site.xml
- vim hive-site.xml(删除所有内容,只留一个)
- 添加配置,保存
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.159.130:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
上传mysql jar包至hive lib目录下
mysql中设定远程连接mysql权限
#(执行下面的语句 .:所有库下的所有表 %:任何IP地址或主机都可以连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
进入hive bin目录执行sh hive。可在mysql中看到:
其中mysql中:
表BLS,查看刚创建的表
表COLUMIS_V2查看字段
表SDS查看处理哪个数据