2017-08-08 369 views
1

我已經把hive-site.xmlspark/conf目錄,並配置它連接到thrift://<user>:9083,我沒有使用derbymysql-connector-jar內蜂箱/ lib文件夾,還是每次我創建蜂巢表和存儲數據的時候,所有的數據都存儲在metastore_db在我的項目目錄而不是我的hdfs://<user>:9000/user/hive/warehouse,所以如果我刪除metastore_db數據丟失。 conf/hive-site.xmlHive:爲什麼在我的項目文件夾中創建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是我thriftserver log.Mysql服務器是running.So爲什麼它正在製造metastore_db和存儲的數據在那裏。

回答

0

我會說你已經在Spark conf文件夾中進行了這些修改,但不是在服務器上(至少不是全部)。在服務器日誌 注意: 「metastore.MetaStoreDirectSql:使用直接SQL,基本DB是德比」

通常的做法是,而不是複製下火花配置/ conf目錄剛剛從那裏添加一個鏈接到/ etc /蜂巢/conf/hive-site.xml,以確保客戶端和服務器使用相同的配置。

我的建議是建立在服務器端先正確(你也有一個端口衝突),與直線測試,只有他們開始使用它從星火

+0

,所以我要補充/蜂巢/ conf目錄/至$ SPARK_CLASSPATH ?這是好的 – 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

相關問題