在 docker 中使用 spark 2.2 运行 zeppelin

Posted

技术标签:

【中文标题】在 docker 中使用 spark 2.2 运行 zeppelin【英文标题】:Running zeppelin with spark 2.2 in docker 【发布时间】:2018-07-14 10:22:34 【问题描述】:

如何在 docker 中使用 Spark 2.2 运行 Zeppelin?

如果我在 docker 中启动 zeppelin,它是从 spark 2.1 开始的。

docker run -p 8080:8080 --rm --name zeppelin apache/zeppelin:0.7.3

我想用 2.2

我试过这个配置,它在 Windows 笔记本电脑上启动,但是当我在 Zeppeling Notebook 中运行命令 spark 时出错

    master:
  image: gettyimages/spark
  command: bin/spark-class org.apache.spark.deploy.master.Master -h master
  hostname: master
  environment:
    MASTER: spark://master:7077
    SPARK_CONF_DIR: /conf
    SPARK_PUBLIC_DNS: localhost
  expose:
    - 7001
    - 7002
    - 7003
    - 7004
    - 7005
    - 7006
    - 7077
    - 6066
  ports:
    - 4040:4040
    - 6066:6066
    - 7077:7077
    - 8080:8080
  volumes:
    - ./conf/master:/conf
    - ./data:/tmp/data


zeppelin:
  image: apache/zeppelin:0.7.3
  environment:
    ZEPPELIN_PORT: 8090
    ZEPPELIN_JAVA_OPTS: >-
      -Dspark.driver.memory=1g
      -Dspark.executor.memory=2g
    MASTER: local[*]
    SPARK_MASTER: spark://master:7077
    SPARK_HOME: master
  ports:
    - 8090:8090
  volumes:
    - ./data:/usr/zeppelin/data
    - ./notebooks:/usr/zeppelin/notebook

但我得到错误

org.apache.zeppelin.interpreter.InterpreterException: /zeppelin/bin/interpreter.sh: line 211: master/bin/spark-submit: No such file or directory

【问题讨论】:

首先,尝试从配置中删除所有卷并再次运行它。它可能会有所帮助 我相当肯定你的docker-compose.yml 的最后两行是愚蠢的。会是哪一个?本地 Spark 或远程 Spark 集群。一行这样说,另一行这样说。除此之外,该 zeppelin 容器仅支持本地模式。您必须给它另一个 Spark 主页,才能使用远程 Spark 集群,请参阅its manual 【参考方案1】:

如果你只想使用现有的镜像,你需要找到一个使用 Spark 2 构建的。例如,以下是使用 spark 2.2,开始使用它运行以下命令

docker run --rm -p 8080:8080 dylanmei/zeppelin

或者,您可以构建自己的图像,将下面链接的内容保存在 Dockerfile 中

https://hub.docker.com/r/dylanmei/zeppelin/~/dockerfile/

进行更改,然后使用构建图像

docker build -t myZeppelinSparkImage .

【讨论】:

以上是关于在 docker 中使用 spark 2.2 运行 zeppelin的主要内容,如果未能解决你的问题,请参考以下文章

利用docker搭建spark hadoop workbench

Hadoop集群+Spark集群搭建基于VMware虚拟机教程+安装运行Docker

Hadoop集群+Spark集群搭建基于VMware虚拟机教程+安装运行Docker

Hadoop集群+Spark集群搭建基于VMware虚拟机教程+安装运行Docker

java怎么识别当前运行环境是docker

Spark Standalone + Zeppelin + Docker:如何设置 SPARK_HOME