【发布时间】:2014-05-12 20:05:30
【问题描述】:
我正在尝试使用 Hive 0.12 配置 MySQL,这就是我所做的 -
我安装了
MySQL - mysql Ver 14.14 Distrib 5.5.35,适用于使用 readline 6.2 的 debian-linux-gnu (x86_64) mysql-connector-java-5.1.30 并将 jar 文件复制到 $HIVE_HOME/lib 安装了 HIVE 0.12
这里是 hive-site.xml 条目
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/metastore_db?createDatabaseIfNotExist=true</value>
<description>metadata is stored in a MySQL server</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>MySQL JDBC driver class</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hiveuser</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepassword</value>
</property>
</configuration>
当我进入 hive shell 并尝试创建一个表时,它给了我以下错误 -
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
我在这里做错了吗?请指教。
【问题讨论】:
-
Hive 现在在 Metastore 数据库中记录架构版本,并验证 Metastore 架构版本是否与要访问该 Metastore 的 Hive 二进制文件兼容。请注意,默认情况下禁用隐式创建或更改现有架构的 Hive 属性。 Hive 不会尝试隐式更改元存储模式。当您对旧模式执行 Hive 查询时,它将无法访问元存储。
-
要禁止模式检查并允许元存储隐式修改模式,您需要在 hive-site.xml 中将配置属性 hive.metastore.schema.verification 设置为 false。