|
@@ -1,12 +1,42 @@
|
|
|
# JupyterLab
|
|
|
|
|
|
-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 https://github.com/ylproj/jupyterlab.git
|
|
|
+
|
|
|
+# 构建基础镜像
|
|
|
+cd docker_build
|
|
|
+docker build -t ylproj-jupyterlab-build:1.0.0 .
|
|
|
+cd ../docker_jupyterhub
|
|
|
+docker build -t ylproj-jupyterhub:1.0.0 .
|
|
|
+cd ..
|
|
|
+
|
|
|
+# 将 JupyerLab 项目打包到 JupyterHub 中
|
|
|
+docker build -t ylproj-jupyter .
|
|
|
```
|
|
|
-pip install -e .
|
|
|
-jlpm install
|
|
|
-jlpm build
|
|
|
-jupyter lab --dev-mode --watch --no-browser
|
|
|
+
|
|
|
+使用如下命令运行构建好的镜像:
|
|
|
+
|
|
|
+```bash
|
|
|
+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/ \
|
|
|
+ ylproj-jupyter
|
|
|
```
|
|
|
+
|
|
|
+运行参数说明:
|
|
|
+
|
|
|
+- 用户访问端口 8000 的 web 服务
|
|
|
+- 环境变量 `LIVY_SERVER_URL` 指向 Livy 服务的地址
|
|
|
+- /etc/krb5.conf 是 Kerberos 的配置文件
|
|
|
+- /opt/cluster/conf 是 Hadoop 相关的配置文件以及 Kerberos 的 keytab
|