Hive:为什么在我的项目文件夹中创建metastore_db?
问题描述:
我已经把hive-site.xml
我spark/conf
目录,并配置它连接到thrift://<user>:9083
,我没有使用derby
我mysql-connector-jar
内蜂箱/ lib文件夹,还是每次我创建蜂巢表和存储数据的时候,所有的数据都存储在metastore_db
在我的项目目录而不是我的hdfs://<user>:9000/user/hive/warehouse
,所以如果我删除metastore_db数据丢失。 conf/hive-site.xml
Hive:为什么在我的项目文件夹中创建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和存储的数据在那里。
答
我会说你已经在Spark conf文件夹中进行了这些修改,但不是在服务器上(至少不是全部)。在服务器日志 注意: “metastore.MetaStoreDirectSql:使用直接SQL,基本DB是德比”
通常的做法是,而不是复制下火花配置/ conf目录刚刚从那里添加一个链接到/ etc /蜂巢/conf/hive-site.xml,以确保客户端和服务器使用相同的配置。
我的建议是建立在服务器端先正确(你也有一个端口冲突),与直线测试,只有他们开始使用它从星火
,所以我要补充/蜂巢/ conf目录/至$ SPARK_CLASSPATH ?这是好的 – Saurab
另外,我想知道spark是否实际读取'/ hive/conf/hive-site.xml'。它不只是读取'/ spark/conf/hive-site.xml'吗? – Saurab
https://pastebin.com/Lr8QJJRP这里是'hive/conf/hive-site.xml'。我还错过了什么? – Saurab