# JupyterLab JupyterLab 是 Jupyter 项目提供的强大的 Notebook 编程界面, 可以通过其插件系统进行扩展. 本项目 fork 自 [https://github.com/jupyterlab/jupyterlab](https://github.com/jupyterlab/jupyterlab), 在官方代码的基础上进行二次开发, 通过 Sparkmagic 连接 Livy 提供 Spark 编程及 HDFS 访问, 并提供数据资产管理, 可视化编程, 定时任务等功能. ## 构建及运行方法 项目提供了构建 Docker 镜像的 Dockerfile ```bash # 使用 recursive 克隆 sparkmagic git clone --recursive http://gogsb.soaringnova.com/ylproj/jupyterlab.git # 构建镜像 docker build -f Dockerfile.combined -t ylproj-jupyter . ``` 使用如下命令运行构建好的镜像: ```bash docker run -d \ --name ylproj-jupyter \ --network ylproj \ -p 8000:8000 \ -v :/etc/krb5.conf:ro \ -v :/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](./images/arch_1659948133.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. [开发相关的说明](./about_dev.md) 2. [二次开发代码改动说明](./about_diff.md)