在火花集群模式下运行 zeppelin

Posted

技术标签:

【中文标题】在火花集群模式下运行 zeppelin【英文标题】:Running zeppelin on spark cluster mode 【发布时间】:2018-02-19 07:51:55 【问题描述】:

我正在使用本教程spark cluster on yarn mode in docker container 以纱线模式在 Spark 集群中启动 zeppelin。但是我被困在第 4 步。我在我的 docker 容器中找不到 conf/zeppelin-env.sh 来进行进一步的配置。我尝试将 zeppelin 的这些 conf 文件夹放入,但现在成功了。除了那个 zeppelin notebook 也没有在 localhost:9001 上运行。

我是分布式系统的新手,如果有人可以帮助我在 yarn 模式下在 spark 集群上启动 zeppelin,那就太好了。

这是我的 docker-compose 文件,用于启用 zeppelin 与 spark 集群的对话。

version: '2'
services:
sparkmaster:
  build: .
  container_name: sparkmaster
ports:
  - "8080:8080"
  - "7077:7077" 
  - "8888:8888"
  - "8081:8081"
  - "8082:8082"
  - "5050:5050"
  - "5051:5051"
  - "4040:4040"
zeppelin:
  image: dylanmei/zeppelin
  container_name: zeppelin-notebook
env_file:
  - ./hadoop.env
environment:
  ZEPPELIN_PORT: 9001
  CORE_CONF_fs_defaultFS: "hdfs://namenode:8020"
  HADOOP_CONF_DIR_fs_defaultFS: "hdfs://namenode:8020"
  SPARK_MASTER: "spark://spark-master:7077"
  MASTER: "yarn-client"
  SPARK_HOME: spark-master
  ZEPPELIN_JAVA_OPTS: >-
    -Dspark.driver.memory=1g
    -Dspark.executor.memory=2g
ports:
  - 9001:9001
volumes:
  - ./data:/usr/zeppelin/data
  - ./notebooks:/usr/zeppelin/notebook

【问题讨论】:

【参考方案1】:

这是您用来启动独立 Spark 集群的 dockerfile。

https://github.com/apache/zeppelin/blob/master/scripts/docker/spark-cluster-managers/spark_standalone/Dockerfile

但是容器内没有 Zeppelin 实例,所以你必须在本地机器上使用 Zeppelin。

请download 使用它。

【讨论】:

我用过这个dockerfile github.com/apache/zeppelin/blob/master/scripts/docker/…虽然这也没有zeppelin,所以我用zeppelin docker镜像启动了另一个容器,但无法让zeppelin与spark cluster对话。 您必须将它们合并到一个网络中,否则无法相互连接。例如,您可以使新的 docker-compose 文件包含这些 dockerfile。 也这样做了,我已经添加了我的 docker-compose 文件。上面提到的 dockerfile 和 docker-compose 在同一个文件夹中。但这会启动一个容器,该容器中只有 zeppelin。 您能分享一下您的 spark 解释器设置吗? 我们不需要使用 dockerized Zeppelin,让我们先在本地机器上尝试二进制以消除复杂性。

以上是关于在火花集群模式下运行 zeppelin的主要内容,如果未能解决你的问题,请参考以下文章

多节点火花集群上的 spark-shell 无法在远程工作节点上旋转执行程序

在火花簇scala中保存随机森林模型时出错

火花集群中可用的资源有限

在火花代码管理 conf.setMaster() 使用配置文件自动设置本地或纱线集群

使用远程 jvm 在纱线集群上提交火花作业时出现异常

我的 spark 作业在 aws EMR 集群上长时间处于接受模式