用齐柏林飞艇在Kubernetes上发火

时间:2020-04-14 15:55:24

标签: apache-spark kubernetes apache-zeppelin

我正在按照本指南在使用minikube设置的本地kubernetes集群中运行一个齐柏林飞艇容器。

https://zeppelin.apache.org/docs/0.9.0-SNAPSHOT/quickstart/kubernetes.html

我能够设置齐柏林飞艇并在那里运行一些示例代码。我已经下载了spark 2.4.5&2.4.0源代码并使用以下命令为kubernetes支持构建了它:

./build/mvn -Pkubernetes -DskipTests clean package

一旦构建了spark,就按照文章中的说明创建了一个docker容器:

bin/docker-image-tool.sh -m -t 2.4.X build

我将齐柏林飞艇配置为使用由kubernetes支持构建的spark图像。上面的文章解释了spark解释器将自动在kubernetes上配置spark以在客户端模式下运行并运行作业。

但是每当我尝试使用spark运行任何参数时,都会收到以下错误消息

Exception in thread "main" java.lang.IllegalArgumentException: basedir must be absolute: ?/.ivy2/local

我尝试在齐柏林飞艇中将火花配置spark.jars.ivy设置为指向临时目录,但这也不起作用。

我在这里发现了类似的问题: basedir must be absolute: ?/.ivy2/local

但是我似乎无法将spark配置为与spark.jars.ivy /tmp/.ivy配置一起运行。我在构建spark时尝试使用 spark-defaults.conf 构建spark,但这似乎也不起作用。

非常困惑这个问题,以及如何解决它的任何指导意见。

谢谢!

1 个答案:

答案 0 :(得分:3)

我也遇到了这个问题,但是我用于设置spark.jars.ivy=/tmp/.ivy的一种解决方法是将其设置为环境变量。

在火花解释器设置中,添加以下属性:SPARK_SUBMIT_OPTIONS并将其值设置为--conf spark.jars.ivy=/tmp/.ivy

这应该通过其他选项来触发提交,您的工作应该继续。