首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >星星之火ETL和火花节约服务器

星星之火ETL和火花节约服务器
EN

Stack Overflow用户
提问于 2022-03-28 10:14:48
回答 1查看 154关注 0票数 1

一些细节:

  • Spark (版本3.2.1)
  • 驱动程序: Hive (Version2.3.9)

ThriftCLIService:使用5.500个工作线程在端口10000上启动ThriftBinaryCLIService

BI工具通过odbc驱动程序连接。

激活火花放电服务器后,我无法使用submit运行火花放电脚本,因为它们都使用相同的metastore_db

代码语言:javascript
复制
error:
Caused by: ERROR XJ040: Failed to start database 'metastore_db' with class loader org.apache.spark.sql.hive.client.IsolatedClientLoader$$anon$1@3acaa384, see the next exception for details.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
        ... 140 more
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /tmp/metastore_db.

我需要能够运行PySpark (Spark ),同时为BI工具查询提供火花节约服务器。有什么解决办法吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-17 14:14:03

在我的例子中,解决方案是将metastore_db移动到数据库服务器,比如MySql (在我的例子中)或Postgresql。

您必须配置$SPARK_HOME/conf/hive-site.xml,并将您的jdbc驱动程序包含在$SPARK_HOME/jars路径中。

用于MySQL连接的hivesite.xml示例

代码语言:javascript
复制
<configuration>
  <!-- Hive Execution Parameters -->
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://XXX.XXX.XXX.XXX:3306/metastore?createDatabaseIfNotExist=true&amp;useSSL=FALSE&amp;autoReconnect=true&amp;nullCatalogMeansCurrent=true</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>YOUR_USER</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>YOUR_PASSWORD</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
  <name>hive.server2.transport.mode</name>
  <value>http</value>
</property>
<property>
  <name>hive.server2.thrift.http.port</name>
  <value>10000</value>
</property>
<property>
  <name>hive.server2.http.endpoint</name>
  <value>cliservice</value>
</property>


<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
<description/>
</property>
  <property>
    <name>datanucleus.autoCreateSchema</name>
    <value>true</value>
  </property>
  <property>
    <name>datanucleus.fixedDatastore</name>
    <value>true</value>
  </property>
  <property>
    <name>datanucleus.autoCreateTables</name>
    <value>true</value>
  </property>
  <property>
    <name>datanucleus.schema.autoCreateTables</name>
    <value>true</value>
  </property>

</configuration>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71645784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档