Zeppelin Docker 镜像
自动构建
Apache Zeppelin Docker镜像提供交互式数据分析与可视化平台,支持多语言及数据处理框架集成,适用于数据探索、协作分析与报告生成。
Apache Zeppelin Docker镜像文档
镜像概述和主要用途
Apache Zeppelin 是一个基于 Web 的交互式数据分析笔记本,支持通过 SQL、Scala 等多种语言进行数据探索、处理与可视化。该 Docker 镜像封装了 Zeppelin 的核心功能,提供便捷的部署方式,适用于快速搭建交互式数据分析环境,支持与 Apache Spark 等大数据框架集成,满足数据科学、数据工程及团队协作场景的需求。
核心功能和特性
核心功能
- Web 交互式笔记本:提供基于浏览器的笔记本界面,支持实时编辑、运行代码及结果展示。
- 多语言支持:原生支持 SQL、Scala、Python 等多种编程语言(需配置对应解释器)。
- 内置 Apache Spark 集成:无需额外配置即可与 Apache Spark 集群联动,支持 Spark SQL、Spark Streaming 等。
- 数据可视化:内置图表功能,可将分析结果以折线图、柱状图、散点图等形式直观展示。
- 协作与分享:支持笔记本共享、版本控制及多人实时协作。
使用场景和适用范围
适用场景
- 数据科学与数据分析:数据科学家可通过 Zeppelin 进行数据清洗、特征工程、模型训练及结果可视化。
- 数据工程与处理:数据工程师可利用 Spark 集成功能编写批处理或流处理任务,实时调试并验证逻辑。
- 团队协作开发:多人共享笔记本,共同编辑分析报告或代码,提升团队协作效率。
- 教育与培训:作为数据分析教学工具,直观展示代码执行过程及数据处理逻辑。
适用人群
- 数据科学家、数据分析师
- 大数据开发工程师
- 高校教师及学生(数据分析相关课程)
详细使用方法和配置说明
前提条件
- 已安装 Docker Engine(20.10+)及 Docker Compose(可选,用于多容器部署)。
- 网络环境可访问 Docker Hub(用于拉取镜像)。
获取镜像
官方推荐使用 Apache Zeppelin 官方镜像(假设镜像名为 apache/zeppelin,实际使用时请确认最新镜像标签):
bashdocker pull docker.xuanyuan.run/apache/zeppelin:latest
基本运行(docker run)
通过 docker run 命令快速启动 Zeppelin 服务,默认暴露 Web 端口并持久化笔记本数据:
bashdocker run -d \ --name zeppelin \ -p 8080:8080 \ # 映射 Web 访问端口(容器内默认 8080) -v /path/to/local/notebooks:/zeppelin/notebook \ # 持久化笔记本数据到本地目录 -e ZEPPELIN_MEM="-Xmx2g -Xms1g" \ # 配置 JVM 内存(根据主机资源调整) apache/zeppelin:latest
参数说明
-p 8080:8080:将容器内 Zeppelin Web 服务端口(8080)映射到宿主机 8080 端口,外部可通过http://宿主机IP:8080访问。-v /path/to/local/notebooks:/zeppelin/notebook:挂载宿主机目录到容器内笔记本存储路径(/zeppelin/notebook),避免容器重启后数据丢失。-e ZEPPELIN_MEM:设置 Zeppelin JVM 内存参数,根据宿主机资源调整(如-Xmx4g -Xms2g表示最大堆内存 4G,初始堆内存 2G)。
高级配置(docker-compose)
通过 Docker Compose 配置文件管理 Zeppelin 服务,可集成 Spark 集群或其他依赖服务(以下为基础示例):
创建 docker-compose.yml 文件:
yamlversion: '3.8' services: zeppelin: image: docker.xuanyuan.run/apache/zeppelin:latest container_name: zeppelin ports: - "8080:8080" # Web 访问端口 - "4040:4040" # Spark UI 端口(若启用 Spark 应用,可选映射) volumes: - ./notebooks:/zeppelin/notebook # 本地笔记本数据卷 - ./conf:/zeppelin/conf # 自定义配置文件(如 interpreter.json、zeppelin-site.xml) environment: - ZEPPELIN_PORT=8080 # Web 服务端口(默认 8080,可自定义) - ZEPPELIN_MEM="-Xmx4g -Xms2g" # JVM 内存配置 - SPARK_MASTER="local[*]" # Spark 主节点地址(local[*] 表示本地模式,使用所有 CPU 核心) restart: unless-stopped # 容器退出时自动重启(除非手动停止)
启动服务:
bashdocker-compose up -d
访问 Zeppelin
服务启动后,通过浏览器访问:
http://<宿主机IP>:8080
首次访问需等待 Zeppelin 初始化(约 1-2 分钟),初始化完成后进入笔记本界面,可创建新笔记本或导入现有笔记本。
配置参数详解
环境变量
| 环境变量 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
ZEPPELIN_PORT | Web 服务监听端口 | 8080 | 8888 |
ZEPPELIN_MEM | JVM 内存参数 | -Xmx1g -Xms512m | -Xmx4g -Xms2g -XX:MaxPermSize=512m |
SPARK_MASTER | Spark 主节点地址 | local[*] | spark://spark-master:7077 |
ZEPPELIN_NOTEBOOK_DIR | 笔记本存储目录 | /zeppelin/notebook | /data/zeppelin/notebooks |
端口说明
| 端口 | 用途 | 是否必须映射 |
|---|---|---|
| 8080 | Zeppelin Web 服务端口 | 是 |
| 4040 | Spark 应用 UI 端口 | 否(仅调试用) |
| 8081 | Zeppelin 守护进程端口 | 否(内部使用) |
数据卷挂载
| 容器内路径 | 用途 | 宿主机挂载建议路径 |
|---|---|---|
/zeppelin/notebook | 存储笔记本文件(.json 格式) | ./notebooks 或 /data/zeppelin/notebooks |
/zeppelin/conf | 配置文件目录(如解释器配置) | ./conf (自定义配置时挂载) |
/zeppelin/logs | 日志文件目录 | ./logs (需持久化日志时挂载) |
相关资源
- 官方文档:https://zeppelin.apache.org/docs/latest/index.html
- 邮件列表:https://zeppelin.apache.org/community.html
- 问题跟踪:https://issues.apache.org/jira/projects/ZEPPELIN/issues
- 贡献指南:https://zeppelin.apache.org/contribution/contributions.html
- 许可证:https://github.com/apache/zeppelin/blob/master/LICENSE
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
docker pull apache/zeppelin:<标签>
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务