From 368ef694940ff88aa2b49fb8fc62abd33d020258 Mon Sep 17 00:00:00 2001
From: LJSJackson <1227581167@qq.com>
Date: Mon, 11 Jul 2022 00:01:40 +0800
Subject: [PATCH 1/2] add build_notebooke_dev_env doc
---
byzer-notebook/zh-cn/_sidebar.md | 1 +
.../dev_env/build_notebooke_dev_env.md | 133 ++++++++++++++++++
.../dev_env/degrade_node_version.png | Bin 0 -> 842641 bytes
.../dev_env/notebook_add_vm_options.png | Bin 0 -> 208614 bytes
.../notebook_vue_npm_install_failed.png | Bin 0 -> 372867 bytes
5 files changed, 134 insertions(+)
create mode 100644 byzer-notebook/zh-cn/developer/dev_env/build_notebooke_dev_env.md
create mode 100644 byzer-notebook/zh-cn/developer/dev_env/degrade_node_version.png
create mode 100644 byzer-notebook/zh-cn/developer/dev_env/notebook_add_vm_options.png
create mode 100644 byzer-notebook/zh-cn/developer/dev_env/notebook_vue_npm_install_failed.png
diff --git a/byzer-notebook/zh-cn/_sidebar.md b/byzer-notebook/zh-cn/_sidebar.md
index 7c4c73a4..6e5ad6cf 100644
--- a/byzer-notebook/zh-cn/_sidebar.md
+++ b/byzer-notebook/zh-cn/_sidebar.md
@@ -45,6 +45,7 @@
- 开发者指南
- REST API
+ * [开发环境搭建](/byzer-notebook/zh-cn/developer/dev_env/build_notebooke_dev_env.md)
* [Liveness API](/byzer-notebook/zh-cn/developer/api/liveness_api.md)
- [术语表](/byzer-notebook/zh-cn/terms/terms.md)
diff --git a/byzer-notebook/zh-cn/developer/dev_env/build_notebooke_dev_env.md b/byzer-notebook/zh-cn/developer/dev_env/build_notebooke_dev_env.md
new file mode 100644
index 00000000..9bff1734
--- /dev/null
+++ b/byzer-notebook/zh-cn/developer/dev_env/build_notebooke_dev_env.md
@@ -0,0 +1,133 @@
+# NoteBook开发环境搭建
+
+本章节将会介绍如何搭建 Byzer Notebook 的开发环境。
+
+### 前置条件
+
+byzer-notebook 相当于一个Web服务,依赖于 byzer-lang 服务的 SQL 解析和执行,所以要启动 byzer-notebook 需要先启动 byzer-lang,具体参考这篇 https://docs.mlsql.tech/mlsql-stack/dev_guide/engine/spark_3_0_0.html
+
+### 开发环境搭建概览
+
+1. 下载 byzer-notebook 和 byzer-notebook-vue
+
+
+2. 安装 node 和 npm
+
+3. idea 配置
+
+4. 启动 byzer-notebook 和 byzer-notebook-vue
+
+
+### 下载项目
+
+1. 下载地址:
+- [byzer-notebook](https://github.com/byzer-org/byzer-notebook)
+- [byzer-notebook-vue](https://github.com/byzer-org/byzer-notebook-vue)
+
+ 1. 下载命令
+
+ `git clone https://github.com/byzer-org/byzer-notebook byzer-notebook
+
+ git clone https://github.com/byzer-org/byzer-notebook-vue byzer-notebook-vue
+ `
+ 2. 【可选】向社区贡献代码步骤
+ 1. for 项目源码到自己的私有仓库
+ 2. checkout 出自己的本地分支 dev
+ 3. 本地分支 dev 提交代码并 push 到远程 dev
+ 4. 将自己私有仓库的 dev 分支代码向社区 master 分支提交 Pull Request 贡献代码给社区 review
+
+### 安装node和npm
+1.下载node和npm
+
+Node安装包:http://nodejs.cn/download/
+
+选择对应操作系统的安装包进行安装,本次采用Mac版本,安装好后已安装完 node 和 npm
+
+2. 【可选】安装/降级到指定版本的node和npm
+
+ 由于之前本机安装的 node 和 npm 版本比较高,执行 npm install 命令会报如下错误:
+
+ ![img.png](img.png)
+
+ 需要降级到指定的版本才行,如本次将版本降到 14.18.3
+
+ node 和npm 降级命令:
+
+ 1. 安装 n 模块,sudo npm install -g n
+
+ 2. 安装 n 模块后,n -V 查看版本
+
+ 3. 最后升级指定版本的 nodejs,sudo n 14.18.3
+
+ 4. 用 node -v 查看版本,14.18.3
+
+![img_1.png](degrade_node_version.png)
+
+### idea 配置
+
+ 本次采用idea作为开发环境,在启动 byzer-notebook 前需要添加相关VM配置才能启动,配置如下:
+
+`-DNOTEBOOK_HOME=/Users/jiasheng.lian/Documents/Kyligence/code/byzer-notebook
+-Dspring.config.name=application,notebook
+-Dspring.config.location=classpath:/,file:./conf/
+-Djava.io.tmpdir=./tmp`
+
+![img_2.png](notebook_add_vm_options.png)
+
+### 启动 byzer-notebook 和 byzer-notebook-vue
+
+#### 启动 byzer-notebook
+
+1. 重命名 conf/notebook.properties.example 文件为自己指定的配置文件名称
+
+2. 修改配置文件中的 notebook.database 相关配置,本次采用的是 mysql5.7.26
+ `notebook.database.type=mysql
+ notebook.database.ip=127.0.0.1
+ notebook.database.port=3306
+ notebook.database.name=notebook
+ notebook.database.username=root
+ notebook.database.password=root`
+3. 修改配置文件中的 notebook.mlsql.engine-url 为自己本地的 byzer-lang服务地址
+ `notebook.mlsql.engine-url=http://localhost:9003
+ notebook.mlsql.engine-backup-url=http://localhost:9004`
+4. 启动类 io.kyligence.notebook.console.NotebookLauncher 的 main 方法启动项目,启动后默认项目地址为 http://localhost:9002 ,
+ 但是这个只是个后端服务,想要体验前端页面,需要再启动 byzer-notebook-vue
+
+### 启动 byzer-notebook-vue
+
+1. npm install 安装依赖包
+2. npm run serve 热加载启动项目
+3. 【可选】安装/降级到指定版本的node和npm
+
+ 由于之前本机安装的 node 和 npm 版本比较高,执行 npm install 命令会报如下错误:
+
+![notebook_vue_npm_install_failed.png](notebook_vue_npm_install_failed.png)
+
+需要降级到指定的版本才行,如本次将版本降到 14.18.3
+
+node 和 npm 降级命令:
+
+1. 安装 n 模块,sudo npm install -g n
+
+2. 安装 n 模块后,n -V 查看版本
+
+3. 最后升级指定版本的 nodejs,sudo n 14.18.3
+
+4. 用 node -v 查看版本,14.18.3
+
+![img_1.png](degrade_node_version.png)
+
+### 浏览器访问
+
+ 访问 `http://localhost:9002`
+
+
+
+
+
+输入账号密码: `admin/admin`,这样本地的 Byzer Notebook 的开发环境已搭建完成,开始探索 Byzer Notebook 吧。
+
+
+
+
+
diff --git a/byzer-notebook/zh-cn/developer/dev_env/degrade_node_version.png b/byzer-notebook/zh-cn/developer/dev_env/degrade_node_version.png
new file mode 100644
index 0000000000000000000000000000000000000000..81cb1f71c43e40baef1b16068365cdf18f937952
GIT binary patch
literal 842641
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