mysql - 配置单元 : why is metastore_db created in my project folder?

标签 mysql hadoop hive apache-spark-sql

我把hive-site.xml在我的 spark/conf dir 并将其配置为连接到 thrift://<user>:9083而且我没有使用 derby我有mysql-connector-jar在 hive/lib 文件夹中,每次我创建 hive 表和存储数据时,所有数据都存储在 metastore_db 中在我的项目目录中,而不是在我的 hdfs://<user>:9000/user/hive/warehouse 中,所以如果我删除 metastore_db 数据就会丢失。 conf/hive-site.xml

<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 日志。Mysql 服务器正在运行。那么为什么它仍在创建 metastore_db 并在那里存储数据。

最佳答案

我会说您已经在 Spark conf 文件夹上进行了这些更改,但没有在服务器上进行更改(至少不是全部)。 服务器日志上的通知: “metastore.MetaStoreDirectSql:使用直接SQL,底层DB是DERBY”

一种常见的做法是不复制 spark/conf 下的配置,而是从那里添加一个链接到/etc/hive/conf/hive-site.xml,以确保客户端和服务器使用相同的配置。

我的建议是首先正确设置服务器端(你也有端口冲突),用 beeline 测试它,只有他们从 Spark 开始使用它

关于mysql - 配置单元 : why is metastore_db created in my project folder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45566037/

相关文章:

MySQL 查询帮助...检查真假?

mysql - 开放层 : How to create markers based on a MySQL database

mysql - 如何优化 mySQL 以使用 JOIN 而不是嵌套的 IN 查询?

hadoop - 如何防止将空 Avro 文件提交到 HDFS?

hadoop - 有谁知道是否有文献比较 hive 中的mapjoins和reducejoins?

hadoop - hive : get rows where difference between a date and date field is some value

mysql - Flask-Admin+SQLAlchemy 图像上传在 MySQL 生产环境中有效,但在 SQLite 测试用例 : InterfaceError 中无效

xml - 使用Hadoop解析xml,与HTML相比有多难?

hadoop - hive 表存档

java - 如何增加 Hadoop 中的 Java 堆大小