Zeppelin 0.10.0 是否尝试 运行 k8s 集群中的解释器?

Does Zeppelin 0.10.0 try to run interpreter in k8s cluster?

version
Java 1.8.0_242-b08
Spark 2.4.5
Zeppelin 0.10.0

在 k8s Pod 中,上面设置了 web ui 运行ning,我打开了 Zeppelin 的 spark 解释器和 运行 sc。打印出以下错误:

io.fabric8.kubernetes.client.KubernetesClientException: Operation: [create] for kind: [Pod] with name: [null] in namespace: [default] failed.

除此之外,我不明白Zeppelin是否使用k8s以及如何使用。

搜索了一下。 fabric8 似乎与 k8s 有关,我想 Zeppelin 试图 运行 它在 k8s 集群中的解释器。然而,k8s 没有安装(?...像 kubectl?)在机器中(Zeppelin 是 运行ning)。所以我能想到的有两种解释:

  1. fabric8 包含 k8s,因此 Zeppelin 为 运行 它的解释器创建本地 k8s 集群。
  2. Zeppelin 以某种方式检测到它已 运行 在 k8s Pod 中并尝试使用该集群创建 Pod,运行 解释器在其中。

认为第一个解释是正确的。但是 运行ning local k8s cluster under the hood 感觉……怎么样?错误本身已通过使用不同版本解决:Spark 2.4.0、Zeppelin 0.8.2,但如果我能使用最新的 Spark 和 Zeppelin 就好了。

此外,错误本身似乎与specific Java version有关。

你是对的。

fabric8 is an opinionated open source Microservices Platform based on Docker, Kubernetes and Jenkins

[source]

开始fabric8
gofabric8 start

下载并启动 minikube,它本质上是一个小型的单节点 kubernetes 集群。它还将安装 kubectl

发现 Zeppelin 有一个参数 ZEPPELIN_RUN_MODE。默认设置为“自动”。如果你在 Pod 中 运行ning Zeppelin 并且不想 运行 在 k8s sidecar 中,你应该将它设置为“本地”。