Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 配置单元:为什么要在我的项目文件夹中创建metastore_db?_Mysql_Hadoop_Hive_Apache Spark Sql - Fatal编程技术网

Mysql 配置单元:为什么要在我的项目文件夹中创建metastore_db?

Mysql 配置单元:为什么要在我的项目文件夹中创建metastore_db?,mysql,hadoop,hive,apache-spark-sql,Mysql,Hadoop,Hive,Apache Spark Sql,我已经将hive site.xml放在我的spark/conf目录中,并将其配置为连接到thrift://:9083并且我没有使用derby我在hive/lib文件夹中有mysql连接器jar,仍然每次我创建hive表和存储数据时,所有数据都存储在我的项目目录中的metastore\u db中,而不是存储在我的hdfs://:9000/user/hive/warehouse中,因此如果我删除metastore\u db,数据将丢失。 conf/hive site.xml <property

我已经将
hive site.xml
放在我的
spark/conf
目录中,并将其配置为连接到
thrift://:9083
并且我没有使用
derby
我在hive/lib文件夹中有
mysql连接器jar
,仍然每次我创建hive表和存储数据时,所有数据都存储在我的项目目录中的
metastore\u db
中,而不是存储在我的
hdfs://:9000/user/hive/warehouse
中,因此如果我删除metastore\u 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>

javax.jdo.option.ConnectionURL
jdbc:mysql://saurab:3306/metastore_db?
createDatabaseIfNotExist=true
元数据存储在MySQL服务器中
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
MySQL JDBC驱动程序类
hive.aux.jars.path
/home/saurab/hadoopec/hive/lib/hive-serde-
2.1.1.jar
spark.sql.warehouse.dir
hdfs://saurab:9000/user/hive/warehouse
hive.metastore.uris
thrift://saurab:9083
客户端与metastore联系的URI
服务器

是我的thriftserver日志。Mysql服务器正在运行。那么为什么它仍在创建metastore_db并在那里存储数据。

我想说,您在Spark conf文件夹上做了这些更改,但在服务器上没有(至少不是全部)。 服务器日志上的注意事项: metastore.MetaStoreDirectSql:使用直接SQL,基础数据库是DERBY

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


我的建议是首先正确设置服务器端(您也有端口冲突),使用beeline进行测试,只有他们从Spark开始使用它,我想说您已经在Spark conf文件夹中进行了这些更改,但没有在服务器端进行更改(至少不是所有更改)。 服务器日志上的注意事项: metastore.MetaStoreDirectSql:使用直接SQL,基础数据库是DERBY

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


我的建议是首先正确设置服务器端(您也有端口冲突),使用beeline测试它,只有他们从Spark开始使用它,所以我应该将/hive/conf/添加到$Spark\u CLASSPATH?我想知道spark是否真的读了
/hive/conf/hive site.xml
。它不是只读
/spark/conf/hive site.xml
?这里是
hive/conf/hive site.xml
。我还遗漏了什么?默认情况下,spark/conf被添加到类路径中,将链接放在那里比弄乱spark类路径更容易。原则上,配置看起来是正确的,在进行这些更改后是否重新启动了服务器?“端口已在使用”错误可能表示运行旧服务器thrift日志来自HiveServer2,因为您正在设置“hive.metastore.uris”,这意味着您正在运行单独的metastore服务器。您确定它是在配置发生更改后重新启动的吗?所以我应该将/hive/conf/添加到$SPARK\u类路径中?我想知道spark是否真的读了
/hive/conf/hive site.xml
。它不是只读
/spark/conf/hive site.xml
?这里是
hive/conf/hive site.xml
。我还遗漏了什么?默认情况下,spark/conf被添加到类路径中,将链接放在那里比弄乱spark类路径更容易。原则上,配置看起来是正确的,在进行这些更改后是否重新启动了服务器?“端口已在使用”错误可能表示运行旧服务器thrift日志来自HiveServer2,因为您正在设置“hive.metastore.uris”,这意味着您正在运行单独的metastore服务器。您确定它是在配置发生更改后重新启动的吗?