3

背景:

  1. CentOS7
  2. hadoop-2.7.3
  3. スパーク-2.0.1-ビン-hadoop2.7
  4. apache-hive-2.1.0-bin (hive --service metastore によるメタストア サービスの開始にのみ使用)
  5. HADOOP_HOME、SPARK_HOME、HIVE_HOME などを構成する
  6. mysql 5.7.16
  7. mysql-connector-java-5.1.40-bin.jar を hive/lib/ と spark/jars/ の両方に入れました

hive-site.xml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://www.test.com:3306/metastore</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>password</value>
    </property>
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://www.test.com:9083</value>
    </property>
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>true</value>
    </property>
</configuration>

hive-site.xml を hive/conf/ と spark/conf/ の両方に入れました

しかし、start-thriftserver.sh を実行すると、エラー ログが得られました (spark_home/logs/ spark- -HiveThriftServer2 .out 内):

......
INFO HiveUtils: Initializing HiveMetastoreConnection version 1.2.1 using Spark classes.
INFO metastore: Trying to connect to metastore with URI thrift://www.test.com:9083
INFO metastore: Connected to metastore.
......
DEBUG ObjectStore: Overriding javax.jdo.option.ConnectionURL value null from  jpox.properties with jdbc:derby:memory:;databaseName=/tmp/spark-37dcab7f-655a-4506-abd7-492a8620a33e/metastore;create=true
......
INFO MetaStoreDirectSql: Using direct SQL, underlying DB is DERBY
......
org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

ログで、プロパティ「hive.metastore.uris」が機能したことがわかります。

しかし、他の mysql 相対プロパティは機能しなかったようです。メタストアはまだデフォルトのデータベース derby を使用しています。

どんな助けでも大歓迎です!ありがとう。

解決済み:

ハイブをローカルで使用したため、hive.metastore.uris を削除しました。

<property>
  <name>hive.metastore.uris</name>
  <value>thrift://www.test.com:9083</value>
</property>
    	

hive.metasotre.schema.verification を false に設定します。ニルマルの助けに感謝します。

4

1 に答える 1

1

このエラーログを見つけました

Caused by: MetaException(message:Version information not found in metastore

hive.metastore.schema.verificationhive と spark conf の両方で hive-site.xml の値を false に設定し、 サービスを再起動して再試行します

于 2016-11-18T08:04:43.437 に答える