<Jupyter Notebook>如何用一台服务器给多个 Jupyter 用户提供服务

本文介绍如何在Spark集群的Master节点上为多个用户提供独立的Jupyter Notebook服务。通过配置不同的端口、工作目录及密码,确保每位用户都能拥有个性化的交互式计算环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如题,搭了一个  spark 集群,在 master 上安装了 jupyter notebook. 随后发现团队有多个人想在 master 上用 jupyter 操作,又不方便大家用一个账户,于是就创建了多个账户.


方法很简单:

jupyter notebook 命令有一个 --config <config_file_path> 的可选参数,默认使用当前目录下的 jupyter_notebook_config.py,可填入 绝对路径 指定配置文件。

只要给每个用户写一个配置文件(至少端口、工作目录的配置要不同),然后分别运行 jupyter notebook --config jupyter_notebook_config_username.py 即可。


实例

文件目录:

[root@master .jupyter]# ls
jupyter_notebook_config_hs.py  jupyter_notebook_config.py  jupyter_notebook_config.py.bak  jupyter_notebook_config_zq.py  migrated
其中 jupyter_notebook_config.py 是第一个用户的配置文件,jupyter_notebook_config_hs.py 是用户 hs 的配置文件,jupyter_notebook_config_zq.py 是用户 zq 的配置文件。

文件内容示例:

jupyter_notebook_config.py

  1 # Configuration file for jupyter-notebook.                                       
  2 c = get_config()                                                                 
  3 c.IPKernelApp.pylab = 'inline'                                                   
  4 c.NotebookApp.ip = '*'                                                           
  5 c.NotebookApp.open_browser = False                                               
  6 c.NotebookApp.password = 'sha1:61c764d76b49:01e5f2ec3d6d0ba262b472281d025d3c4e1fe565'
  7 c.NotebookApp.port = 6789                                                        
  8 c.NotebookApp.notebook_dir = '/home/me/ipython' 

执行 jupyter notebook & 或 jupyter note book --config /root/.jupyter/jupyter_note_book_config.py & 启动服务

客户端在浏览器上 通过 <ip地址>:6789 访问


jupyter_notebook_config_hs.py

  1 # Configuration file for jupyter-notebook.                                       
  2 c = get_config()                                                                                                                                                                                                                                                          
  3 c.IPKernelApp.pylab = 'inline'                                                   
  4 c.NotebookApp.ip = '*'                                                           
  5 c.NotebookApp.open_browser = False                                               
  6 c.NotebookApp.password = 'sha1:976bc4e3d0db:df5983c005e2d95c061426ba90c74086c57e76fd'
  7 c.NotebookApp.port = 7777                                                        
  8 c.NotebookApp.notebook_dir = '/home/hs/ipython'    

执行 jupyter note book --config /root/.jupyter/jupyter_note_book_config_hs.py & 启动服务

客户端在浏览器上 通过 <ip地址>:7777 访问


至此,该服务器就可以给多个端口、密码不同的 jupyter notebook 用户使用了

### 如何在远程服务器上配置并运行 Jupyter Notebook #### 配置环境 为了能够在远程服务器上成功运行 Jupyter Notebook,首先需要确保服务器已经安装了必要的依赖项。如果尚未安装 Jupyter Notebook,则可以通过以下命令完成安装: 对于基于 Conda 的环境,可以执行如下操作来安装 Jupyter Notebook: ```bash conda install notebook ``` 此方法适用于大多数科学计算场景下的 Python 虚拟环境管理工具[^2]。 #### 启动服务 启动 Jupyter Notebook 可以通过多种方式进行调整,具体取决于用户的实际需求和权限情况。以下是常见的几种方式及其对应的指令说明: - **默认模式** 使用标准的方式启动 Jupyter Notebook: ```bash jupyter notebook ``` - **无浏览器模式** 如果不需要自动打开网页界面或者希望减少不必要的资源消耗,可以选择不开启浏览器窗口: ```bash jupyter notebook --no-browser ``` - **指定端口号** 当存在多个程序占用常用端口时,可通过设定特定端口避免冲突: ```bash jupyter notebook --no-browser --port=8005 ``` - **允许 Root 用户访问** 对于某些特殊情况下由超级管理员身份登录的情况,需额外增加选项支持该功能: ```bash jupyter notebook --allow-root ``` - **后台持续运行** 利用 `nohup` 命令可以让进程独立于当前会话继续工作,即便关闭终端也不会影响其正常运转: ```bash nohup jupyter notebook & ``` 以上每种形式都有各自适用范围,请依据实际情况选取合适的方法[^3]。 #### 远程连接设置 当上述步骤完成后,还需要进一步处理网络层面的安全性和可达性问题。通常做法包括但不限于修改配置文件、创建 SSH 隧道等手段增强交互体验的同时保障数据传输安全。 ##### 修改 Config 文件 生成一个新的个性化配置文档,并对其进行编辑以便自定义更多高级特性比如密码保护机制或是启用 HTTPS 加密通信等功能。 ```bash jupyter notebook --generate-config vim ~/.jupyter/jupyter_notebook_config.py ``` 在此过程中可加入类似下面这样的语句实现更严格的控制策略: ```python c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8888 c.NotebookApp.password = 'sha1:<your_hashed_password>' ``` ##### 设置 SSH Tunneling (SSH 隧道) 建立一条加密通道使得本地客户端能够透明地访问远端的服务实例而无需暴露公网IP地址给外界攻击者尝试入侵的风险。 ```bash ssh -N -f -L localhost:8888:localhost:8888 user@remote_host ``` 这样就可以像平常一样从个人电脑上面直接加载对应网址链接进入目标平台开展研究活动啦! --- ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值