无法以远程模式运行配置单元元存储

qf9go6mv  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(346)

我在apachehadoop分布式集群中添加了hive。我想在hdfs中创建metastore,而不是在本地目录中创建metastore。但是,我在hive-site.xml中的设置似乎不起作用。我得到的错误如下,这似乎是Hive仍然试图使用运行元存储在本地模式。
java.sql.sqlexception:无法创建目录/home/zz/metastore\u db。
有人能告诉我我的设置出了什么问题吗?谢谢!
以下是my hive-site.xml内容:

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://client2/metastore</value>
</property>

<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>MySQL JDBC driver class</description>
</property>

<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
</property>

<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>user name for connecting to mysql server </description>
</property>

<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hadoop</value>
</property>

<property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
</property>

<property>
    <name>hive.server2.servermode</name>
    <value>thrift</value>
</property>

<property>
    <name>datanucleus.autoCreateSchema</name>
    <value>false</value>
</property>

<property>
    <name>datanucleus.fixedDatastore</name>
    <value>true</value>
</property>

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>master1</value>
</property>

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://client2:9083</value>
    <description>IP address (or fully-qualified domain name) and port of the metastore host</description>
</property>
4uqofj5v

4uqofj5v1#

确保 hive-site.xml 文件在配置单元类路径中。在您的情况下,更新的hive-site.xml文件没有正确地采用默认值。在执行hive命令之前,可以使用以下环境变量显式设置hive conf目录

export HIVE_CONF_DIR=<PATH-TO-CONF-DIR>

(应指定包含hive-site.xml的目录)
要将远程mysql配置为hivemetastore,首先需要在远程mysql(metastore数据库)中创建具有足够权限的数据库。最初,数据库是空的,因此如果数据库是空的,那么通过将以下属性设置为true,将自动在远程数据库中创建metastore架构

<property>
    <name>datanucleus.autoCreateSchema</name>
    <value>true</value>
</property>

如果问题仍然存在,请使用选项启动配置单元 --config 如下

hive --config <PATH-TO-CONF-DIR>

相关问题