本地 Jupyter 对接 Hadoop 生态(总览)
本系列介绍如何在 JupyterLab notebook 中对接 Hadoop 生态(Spark / Flink / Hive / Yarn),让 PySpark、PyFlink 作业既能本地运行,也能提交到 Yarn 集群运行、对接 Hive 元数据。
提供两种路线,可按需选择:
- 基于已有镜像手动安装——从基础 notebook 镜像出发,逐步手动安装配置 Spark / Flink(适合理解原理、对接各厂商发行版)。
- 基于 Dockerfile 的集成镜像——平台源码里已经把整套 Hadoop 生态打进了
bigdata镜像,开箱即用,/examples下自带示例。
建议:想快速体验直接用集成镜像(见 03-基于 Dockerfile 集成镜像);想了解原理或对接华为 FusionInsight / 星环 TDH / Cloudera CDH 等非 Apache 发行版,按手动安装路线来。
一、组件版本
1.1 当前集成镜像版本(以源码为准)
平台源码已将 Hadoop 生态集成进 bigdata 镜像。下表依据 images/jupyter-notebook/bigdata/Dockerfile 与 build.sh 核实:
| 组件 | 版本 | 依据(images/jupyter-notebook/bigdata/Dockerfile) |
|---|---|---|
| 基础镜像 | ccr.ccs.tencentyun.com/cube-studio/notebook-enterprise:jupyter-ubuntu-cpu-base |
第 1 行 FROM |
| Spark | 3.4.3(bin-hadoop3) | ARG SPARK_VERSION=3.4.3 |
| Flink(pyflink) | 1.17.0 | ARG FLINK_VERSION=1.17.0 |
| Hadoop | 3.3.6 | 安装 hadoop 一节 |
| Hive | 3.1.3 | 安装 hive 一节 |
| Maven | 3.8.8 | ARG MAVEN_VERSION=3.8.8 |
| JDK | 8 | ARG JDK_VERSION=8 |
| 构建产物镜像 | ccr.ccs.tencentyun.com/cube-studio/notebook-enterprise:jupyter-ubuntu-bigdata-amd64 |
build.sh:5 |
1.2 手动安装教程使用的示例版本
下文“手动安装”路线(01、02)沿用原始教程的示例版本,仅用于演示步骤;如需与集成镜像保持一致,请把版本号替换为上表中的版本。
| 组件 | 教程示例版本 | 备注 |
|---|---|---|
| Hadoop | 3.2.2 | hadoop-3.2.2 |
| Spark | 3.1.3 | spark-3.1.3-bin-hadoop3.2 |
| Hive | 3.1.2 | apache-hive-3.1.2-bin |
| Flink | 1.15.1 | pyflink |
| Python | 3.8.12 | 基础镜像自带版本 |
说明(与源码核对):原始教程基于
notebook:jupyter-ubuntu-cpu-base与旧版组件(Spark 3.1.3 / Flink 1.15.1 / Hadoop 3.2.2 / Hive 3.1.2),而当前商业版源码(images/jupyter-notebook/bigdata/Dockerfile)已改名为notebook-enterprise:*并升级到 Spark 3.4.3 / Flink 1.17.0 / Hadoop 3.3.6 / Hive 3.1.3。下文"手动安装"步骤的命令与下载链接仍以旧版本演示,可正常理解流程,具体版本/路径请以最新源码为准。
二、子文档目录(TOC)
| 文档 | 内容 |
|---|---|
| 01-手动安装:Spark 配置与测试 | 启动基础容器、上传 Hadoop 配置、下载配置 Spark、findspark、本地 / 访问 Hive / Yarn-client 运行 PySpark |
| 02-手动安装:Flink 配置与测试 | 安装 PyFlink、改 JDK8、装 Maven、批量拉依赖、HiveCatalog 配置、本地 / HiveCatalog 运行 PyFlink |
| 03-基于 Dockerfile 的集成镜像 | 集成镜像 Dockerfile 与启动脚本、启动容器、上传集群配置、开箱即用的 Spark / Flink 示例 |
| 04-其他辅助文档 | CentOS 下装 Python3.8、安装 Hadoop / Hive 的参考 |
三、整体路线
- 准备一个 Hadoop / Yarn 集群(没有的话可参考 04-其他辅助文档 搭建单机伪分布式集群测试)。
- 在 JupyterLab 中配置好 Spark / Flink,并上传集群的
core-site.xml、hdfs-site.xml、yarn-site.xml、hive-site.xml。 - 用 notebook 跑本地模式验证,再跑 Yarn-client 模式提交到集群,最后对接 Hive。
集成镜像本身的构建属于镜像构建范畴,可参见 04-镜像构建与仓库 / 镜像在线构建和管理 与 06-二次开发 段。