在 Kubernetes 中运行的 Spark 使用什么主 URL?

问题描述 投票:0回答:1

我有一个 spark 集群在运行

minikube
:

$ k get pods                                                                                                                                              
NAME             READY   STATUS    RESTARTS   AGE
spark-master-0   1/1     Running   0          7d
spark-worker-0   1/1     Running   0          7d
spark-worker-1   1/1     Running   0          7d

我已经端口转发给主人:

$ k port-forward spark-master-0 8080:8080                                                                                                                   
Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080

我正在尝试创建一个

JavaSparkSession
但我不确定要使用哪个主 URL:

SparkConf sparkConf = new SparkConf()
    .setMaster("???")
    .setAppName("test-spark");
SparkSession.builder()
    .config(sparkConf)
    .getOrCreate();

尝试了以下没有用的

  • "local"
  • "localhost:8080
  • http://localhost:8080
  • spark://localhost:8080
  • (来自其中一个答案)
    k8s://http://192.168.1.2:8080
  • (来自其中一个答案)
    k8s://https://kubernetes:443

它们都不起作用。得到以下错误:

Caused by: org.apache.spark.SparkException: Could not parse Master URL: '<MASTER URL FROM LIST ABOVE>'

我使用什么主 URL?谢谢

apache-spark kubernetes apache-spark-sql minikube
1个回答
0
投票

这应该有效:

k8s://https://{MasterIp}:{Port}

更新: 我使用 K8s,在你的情况下它应该是 spark,我也检查过并且在 k8s 之后我没有使用 HTTPS

SparkConf conf = new SparkConf().setAppName("App_Name")
    .setMaster("spark://192.168.58.2:8080").set("spark.ui.port","8080");
© www.soinside.com 2019 - 2024. All rights reserved.