繁体   English   中英

从安装了 Zeppelin 的本地计算机连接到 Docker Spark 集群

[英]Connection from local machine installed Zeppelin to Docker Spark cluster

我正在尝试在安装了 Zeppelin 版本 0.10.0 的本地计算机上配置 Spark 解释器,以便我可以在 Docker 上本地创建的 Spark 集群上运行脚本。 我正在使用 https ://github.com/big-data-europe/docker-spark和 Spark 版本 3.1.2 中的 docker-compose.yml。
docker 组合后,我可以在 localhost:8080 上的浏览器 spark-master 和 localhost:18081 上的 History Server 中看到。 读取 spark-master 容器的 ID 后,我还可以在其上运行 shell 和 spark-shell(docker exec -it xxxxxxxxxxxx /bin/bash)。 作为主机操作系统,我使用的是 Ubuntu 20.04,Zeppelin 中的 spark.master 现在设置为 spark://localhost:7077,zeppelin-site.xml 中的 zeppelin.server.port 为 8070。
有很多关于连接运行 Zeppelin 的容器或在同一个容器中同时运行 Spark 和 Zeppelin 的信息,但不幸的是,我还使用该 Zeppelin 通过 VirtualBox Hortonworks 集群上的 jdbc 连接到 Hive,就像我之前的一篇文章中一样,我会由于硬件资源,现在不想更改该配置。 在其中一篇文章( 在 spark 集群模式下运行 zeppelin )中,我看到这样的连接是可能的,不幸的是,所有尝试都以“无法打开 SparkInterpreter”消息结束。
我将不胜感激任何提示。

您需要将 Zeppelin 中的spark.master更改为指向 docker 容器中的 spark master 而不是本地机器。 因此spark://localhost:7077将不起作用。

端口7077很好,因为这是您正在使用的 docker-compose 文件中指定的端口。 要获取 docker 容器的 IP 地址,您可以按照答案进行操作。 由于我认为您的容器名为spark-master ,您可以尝试以下操作:

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' spark-master

然后将其指定为 Zeppelin 中的spark.masterspark://docker-ip:7077

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM