JupyterLab 是 Jupyter 项目提供的强大的 Notebook 编程界面, 可以通过其插件系统进行扩展. 本项目 fork 自 https://github.com/jupyterlab/jupyterlab, 在官方代码的基础上进行二次开发, 通过 Sparkmagic 连接 Livy 提供 Spark 编程及 HDFS 访问, 并提供数据资产管理, 可视化编程, 定时任务等功能.
项目提供了构建 Docker 镜像的 Dockerfile
# 使用 recursive 克隆 sparkmagic
git clone --recursive http://gogsb.soaringnova.com/ylproj/jupyterlab.git
# 构建镜像
docker build -f Dockerfile.combined -t ylproj-jupyter .
使用如下命令运行构建好的镜像:
docker run -d \
--name ylproj-jupyter \
--network ylproj \
-p 8000:8000 \
-v <kerberos配置>:/etc/krb5.conf:ro \
-v <hadoop配置>:/opt/cluster/conf:ro \
-e LIVY_SERVER_URL=http://livy:8998/ \
-e BACKEND_BASE_URL=http://backend:5000/ \
ylproj-jupyter
运行参数说明:
LIVY_SERVER_URL
指向 Livy 服务的地址BACKEND_BASE_URL
指向 Backend 服务的地址service | port |
---|---|
JupyterHub Web | 8000 |
Backend REST | 5000 |
Livy REST | 8998 |
Livy RPC | 31100-31103 |
Livy RPC (Yarn) | 31100-31103 |
HDFS | 4007, 4008 |
ResourceManager | 5000, 5004 |
NodeManager | 5006, 5008 |
KDC | 88 |
Hive Metastore (thrift) | 7004 |
Hive Server2 | 7001 |