2017-08-08 371 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

相关问题