README.md 2.1 KB

JupyterLab

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

运行参数说明:

  • 用户访问端口 8000 的 web 服务 (http://localhost:8000/jupyterhub)
  • 环境变量 LIVY_SERVER_URL 指向 Livy 服务的地址
  • 环境变量 BACKEND_BASE_URL 指向 Backend 服务的地址
  • /etc/krb5.conf 是 Kerberos 的配置文件
  • /opt/cluster/conf 是 Hadoop 相关的配置文件以及 Kerberos 的 keytab

各组件端口说明

arch.png

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

其他

  1. 开发相关的说明
  2. 二次开发代码改动说明