提供了两种方案:
一、第一种
metastore database
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://nodefive/hive?createDatabaseIfNotExist=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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>12345</value>
</property>
</configuration>
第二种
图例说明(图片来源自同学)
1.选取一台虚拟机(此处为nodeone)作为metastore server
并配置hive-site.xml配置文件
vi hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://nodethree/hive?createDatabaseIfNotExist=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>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>12345</value>
</property>
<property>
<name>hive.metastore.thrift.bind.host</name>
<value>nodeone</value>
</property>
</configuration>
配置完成后启动服务
bin/hive --service metastore
2.在另一台虚拟机(此处为nodetwo)上配置hive-site.xml文件
如下:
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://nodeone:9083</value>
</property>
</configuration>
启动并使用hive
hive
3.在另外的一台机子(nodethree)上安装MySQL
其账户为root
密码是12345
附:
在配置过程中,遇到了以下报错
21/01/14 05:38:27 WARN conf.HiveConf: HiveConf of name hive.metastore.thrift.bind.host does not exist
javax.jdo.JDOFatalInternalException: The java type java.lang.Integer (jdbc-type="", sql-type="") cant be mapped for this datastore. No mapping is available.