Mysql 配置单元中的元数据出错

Mysql 配置单元中的元数据出错,mysql,hadoop,hive,Mysql,Hadoop,Hive,我已经在CentOS的同一台服务器上安装了hadoop、hive和MySQL。我还设置了MySQL和用户ID-hive可以通过以下步骤访问数据库 mysql> CREATE DATABASE metastore; mysql> USE metastore; mysql> SOURCE $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-0.10.0.mysql.sql; mysql> CREATE USER '

我已经在CentOS的同一台服务器上安装了hadoop、hive和MySQL。我还设置了MySQL和用户ID-hive可以通过以下步骤访问数据库

mysql> CREATE DATABASE metastore;
mysql> USE metastore;

mysql> SOURCE $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-0.10.0.mysql.sql;

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; 

mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';

mysql>  flush privileges;
My Hive-site.xml文件属性如下:

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastorecreateDatabaseIfNotExist=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>
<description>user name for connecting to mysql server</description>      
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hivepassword</value>
<description>password for connecting to mysql server</description>
</property>

<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description> warehouse </description>
</property>
在配置单元外壳中发出show tables命令时,出现以下错误:

蜂巢>显示表格;失败:元数据中出错:java.lang.RuntimeException:无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient失败:执行 错误,从org.apache.hadoop.hive.ql.exec.ddlstask返回代码1


我在互联网上搜索了所有问题,但找不到解决问题的方法。有人能告诉我,我缺少什么吗?

我认为这个问题更适合dba.stackexchange.com。我重复了前两个步骤,但没有用。是的,我已经完成了第三步。Mysql版本是5.1.69。是否要我对此版本执行第四步。。谢谢能否检查jpox.properties中javax.jdo.option.ConnectionDriverName、javax.jdo.option.ConnectionURL、javax.jdo.option.ConnectionUserName和javax.jdo.option.ConnectionPassword的值?在启动配置单元控制台中的show databases/tables之前,首先检查mysql数据库/表是否可以在其他控制台上访问。正如我前面提到的,它们是正确的。。它们在蜂巢里。XmlI可以通过mysql访问和执行表的所有操作
1. First just check your hadoop daemons. All are up or not.

2. Else restart your hadoop cluster once.

3. Have you copied the jar (mysql-connector-java.***) into Hive's lib dir?

4. Which mysql version you are using. If it is very old then :

   mysql>alter database metastore_Db character set latin1;

 I think step 1 and 2 will solve your problem.