如何使用配置单元0.12配置mysql 5.5.35

时间:2014-04-01 20:29:09

标签: mysql hadoop hive

我正在尝试使用Hive 0.12配置MySQL,这就是我所做的 -

我安装了

MySQL - mysql Ver 14.14使用readline 6.2为debian-linux-gnu(x86_64)分发5.5.35 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

我在这里做错了吗?请指教。

2 个答案:

答案 0 :(得分:0)

您还可以添加以下属性并检查

<property>
  <name>datanucleus.autoCreateSchema</name>
  <value>false</value>
</property>
<property>
  <name>datanucleus.fixedDatastore</name>
 <value>true</value>`enter code here`
</property>

还要检查MySQL服务是否正在运行。

service mysqld status 

应显示正在运行...

答案 1 :(得分:0)

Hive现在将模式版本记录在Metastore数据库中,并验证Metastore模式版本是否与将要访问Metastore的Hive二进制文件兼容。请注意,默认情况下会禁用隐式创建或更改现有架构的Hive属性。 Hive不会尝试隐式更改Metastore架构。当您针对旧架构执行Hive查询时,它将无法访问Metastore。

要禁止模式检查并允许Metastore隐式修改模式,您需要在hive-site.xml中将配置属性hive.metastore.schema.verification设置为false。

现在解决了这就是我所做的 -

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

解决。

要按照相关步骤操作,请访问我的博客MySQL with Hive