一、原因
最近在学Flink,学的时候非常怀念学习Python用的Jupyter notebook,因此非常希望也能有一个类似Jupyter Notebook的环境来运行、学习Flink。可惜Jupyter Notebook现在不支持Flink,不过幸好还有Zeppelin。
zeppelin是一个基于web的notebook,支持各种解析器,可视化的数据提取,数据发现,数据分析等。当前zeppelin支持多中解析器,比如spark,python,jdbc,markdown,shell等等。
因为我是用笔记本来学习,为了简化安装步骤,决定使用Docker 来搭建环境。
二、环境搭建
1,安装Docker Desktop,具体方法请参考官网说明即可。
2,下载Docker。现在zeppelin最新的版本是0.10.0。在启动Docker Desktop后,直接运行 docker pull apache/zeppelin:0.10.0 即可将最新的zeppelin docker下载到本地。
3,zeppelin默认的docker里面不包括Flink,所以需要自行下载,去官网下载即可。我这次使用的是1.12.7。下载后解压到希望Flink运行的目录。
4,运行
docker run -p 8080:8080 -p 8081:8081 --rm -v D:/Docker/zeppelin/flink-1.12.7:/opt/flink -e FLINK_HOME=/opt/flink --name zeppelin apache/zeppelin:0.10.0
即可启动Zeppelin环境。其中D:/Docker/zeppelin/flink-1.12.7 是flink解压的目录。
然后就可以通过http://localhost:8080/ 访问zeppelin
可以直接运行Flink Tutorial
可以通过http://localhost:8081/ 查看Flink的UI。
现在你就可以愉快的玩耍了。
5,也可以通过docker-compose来启动和关闭zepplin,docker-compose.yml文件内容如下:
version: '3'
services:
zeppelin:
image: apache/zeppelin:0.10.0
restart: always
environment:
- FLINK_HOME=/opt/flink
volumes:
- D:/Docker/zeppelin/flink-1.12.7:/opt/flink
ports:
- 8080:8080
- 8081:8081
在docker-compose.yml文件的目录里可以通过docker-compose up -d 和 docker-compose down 来启动和停止zeppelin。