Невозможно создать экземпляр метаданных.SessionHiveMetaStoreClient в Hive (Ubuntu 16.04)

Я пытаюсь настроить куст 2.3.0 с mysql на Ubuntu 16.04. Я установил Hadoop, и он работает нормально. Я могу войти в консоль улья, но никакие команды не выполняются, это дает мне ошибку:

SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: невозможно создать экземпляр org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

Вот мой hive-site.xml

<configuration>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/metastore?useSSL=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>
</configuration>

Я также создал базу данных хранилища метаданных в mysql, используя ссылку this.

Изображение ошибки


person Ishpreet    schedule 12.08.2017    source источник
comment
Можете ли вы опубликовать полную трассировку стека ошибок   -  person Agustus    schedule 12.08.2017
comment
is mysql-connector-java-x.x.xx-bin.jar находится внутри $ HIVE_HOME / lib?   -  person Agustus    schedule 12.08.2017
comment
Да, mysql-connector-java присутствует в $ HIVE_HOME / lib   -  person Ishpreet    schedule 12.08.2017
comment
@Abhi, вы можете просмотреть изображение ошибки для полной трассировки стека.   -  person Ishpreet    schedule 12.08.2017


Ответы (1)


Я придумал решение. Проблема с тем, что Metastore не был создан, связана с дублированием ключей в mysql. Вместо того, чтобы получать схему куста из mysql. Используйте это: hive --service metastore

Я также обновил hive-site.xml:

<configuration>
 <property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/metastore?useSSL=false</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>Username</value>
  <description>user name for connecting to mysql server</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>Password</value>
  <description>password for connecting to mysql server</description>
</property>
<property>
 <name>datanucleus.autoCreateSchema</name>
 <value>true</value>
</property>
<property>
 <name>datanucleus.fixedDatastore</name>
 <value>true</value>
</property>
<property>
 <name>datanucleus.autoCreateTables</name>
 <value>True</value>
</property>

Also to view the complete stack trace use schematool: schematool -initSchema -dbType mysql --verbose

person Ishpreet    schedule 16.08.2017