配置Spark ThriftServer与 Spark Connect服务器

编程语言 2026-07-09

Spark Master configuration

我是Spark的新手。

我在我的Azure虚拟机上安装了单节点的Spark。

我想让两个服务都启动并运行(Thrift和 Connect)。只有在以下情况下才可以工作:

  • 当Thrift打开且Connect关闭时
  • 当Thrift关闭且Connect打开时

我认为是配置错误造成的。从我的Spark Master UI的界面来看,我猜如果先启动Thrift,它会分配所有可用的核心;当启动Connect时就没有可用的核心了,可能这就是Connect处于等待状态的原因?
如果我先启动Connect——它工作正常,但我的Thrift将处于等待状态。
我的 spark-env.sh 包含以下设置:

export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-21.0.7.0.6-1.portable.jdk.x86_64
export SPARK_MASTER_HOST=192.168.2.5
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_URL=spark://$SPARK_MASTER_HOST:$SPARK_MASTER_PORT
export SPARK_WORKER_CORES=4
export SPARK_WORKER_MEMORY=4g
export SPARK_EXECUTOR_INSTANCES=4
export SPARK_EXECUTOR_CORES=2

如果能得到关于如何配置Spark以同时让Thrift和 Connect处于运行状态的线索,我将不胜感激。

解决方案

这有点像魔法,但在我发帖几分钟后,我找到了答案。
在spark-defaults.conf中,我添加了以下几行:

spark.cores.max                    2
spark.executor.memory              2g

看来它起作用了。
Ziggy

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章