2017-08-08 14 views
1

私はspark/confディレクトリにhive-site.xmlを入れて、それを構成しthrift://<user>:9083に接続するために、私はderbyを使用していないしている私はまだ、私はハイブテーブルやストアデータを作成するたびに、すべてのデータがでmetastore_dbに格納されている/ libフォルダ、ハイブ内部mysql-connector-jar持っています代わりに私のプロジェクトのディレクトリhdfs://<user>:9000/user/hive/warehouse、私はmetastore_dbを削除すると、データが失われます。 conf/hive-site.xmlハイブ:プロジェクトフォルダにmetastore_dbが作成されるのはなぜですか?

<property> 
     <name>javax.jdo.option.ConnectionURL</name> 
     <value>jdbc:mysql://saurab: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>hive.aux.jars.path</name> 
     <value>/home/saurab/hadoopec/hive/lib/hive-serde- 
     2.1.1.jar</value> 
    </property> 

    <property> 
     <name>spark.sql.warehouse.dir</name> 
     <value>hdfs://saurab:9000/user/hive/warehouse</value> 
    </property> 

    <property> 
     <name>hive.metastore.uris</name> 
     <value>thrift://saurab:9083</value> 
     <description>URI for client to contact metastore 
     server</description> 
    </property> 

Thisそれはまだmetastore_dbを作成し、そこにデータを格納している理由は、私のthriftserverのlog.Mysqlサーバがrunning.Soです。

答えて

0

あなたはSparkのconfフォルダに変更を加えましたが、サーバーの変更は少なくともそれらすべてではないと思います。サーバログに お知らせ: 「metastore.MetaStoreDirectSql:DBはDERBYで基礎となる、直接SQLを使用した」

一般的な方法ではなく、火花/ confの下の設定をコピーするだけで、そこからの/ etc /ハイブへのリンクを追加しています/conf/hive-site.xmlを使用して、クライアントとサーバーが同じ構成を使用していることを確認します。

私のアドバイスは、正しく最初のセットアップにサーバー側で(あなたはまた、ポートが競合している)、真っすぐでそれをテストし、唯一の彼らはので、私は$ SPARK_CLASSPATHに/ /ハイブ/ confに追加する必要がありスパーク

+0

からそれを使用して起動?これは良いでしょう – Saurab

+0

また、私はsparkが実際に '/ hive/conf/hive-site.xml'を読み込んでいるのだろうかと思っていました。 '/ spark/conf/hive-site.xml'だけを読むのではないのですか? – Saurab

+0

https://pastebin.com/Lr8QJJRPここに 'hive/conf/hive-site.xml'があります。他に何が恋しい? – Saurab

関連する問題