JupyterHub實戰應用

一、JupyerHub

jupyter notebook 是一個非常有用的工具,我們可以在瀏覽器中任意編輯調試我們的python代碼,并且支持markdown 語法,可以說是科研利器。但是這種情況適合個人使用,也就是jupyter notebook以我們自己的主機作為服務器,然后我們用自己的瀏覽器編輯自己本機的python代碼。

最近公司搭建了業務模型的服務器,每個人都有一個用戶可以使用GPU資源,但是每次寫代碼要在本地調試好了然后再ssh提交到服務器運行,如果有問題,還要再在本地更改然后再次提交,非常的麻煩。為了解決這個煩惱,我們在GPU服務器上搭建了jupyterhub, 它和notebook不同之處在于它是一個hub,哈哈,也就是notebook的服務器,把它裝在服務器上,然后大家可以通過局域網在瀏覽器上進行python代碼的編輯和調試。

jupyterhub 和 jupyter notebook一樣是python的一個包,可以通過pip安裝,也可以通過 conda安裝,在服務器端安裝就可以供大家使用。

二、環境

確保你的服務器環境滿足以下要求:

  • 一臺運行支持的操作系統(如 Ubuntu、CentOS 等)的服務器
  • 安裝了 Python 和 pip
  • 足夠的系統資源(CPU、內存、磁盤空間)

1、Python環境

安裝 Miniconda 是管理 Python 環境以及安裝 Python 包的一個方便工具。
以下是在 CentOS 上安裝 Miniconda 的步驟:

  1. 下載 Miniconda 安裝包:

在終端中執行以下命令,下載適用于 CentOS 的 Miniconda 安裝包(64 位):

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh或curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  1. 運行安裝腳本:

運行下載的腳本來安裝 Miniconda。首先,給腳本執行權限:

chmod +x Miniconda3-latest-Linux-x86_64.sh

然后運行安裝腳本:

./Miniconda3-latest-Linux-x86_64.sh

按照提示,閱讀許可協議并同意。

  1. 配置 Miniconda:

安裝過程中會提示你是否將 Miniconda 添加到 shell 的 PATH 中。選擇 “yes”,這將允許你在終端中直接使用 conda 命令。

  1. 重啟終端:

安裝完成后,為了使配置生效,關閉當前終端窗口,然后重新打開一個新的終端。

5.測試安裝:

在新的終端中,運行以下命令來驗證 conda 是否已成功安裝:

root@bt:/home/fengkong# conda --version
conda 23.5.0
  1. 安裝插件補全
conda install -c conda-forge conda-bash-completion

備注:

3、配置環境變量:.bashrc
如果選擇了init會自己配置
export PATH=~/miniconda3/bin:$PATH
3.5、卸載miniconda
找到miniconda3的文件夾,使用rm命令將它刪除:
然后,用vim命令進入.bashrc文件,將conda的語句用#注釋掉
最后,重新激活一下source .bashrc就可以了。

2、Jupyter Lab

安裝 JupyterLab 非常簡單,只需一行命令即可:

conda 安裝 [Miniconda]
conda install -c conda-forge jupyterlab
or
pip 安裝 pip install jupyterlab
  1. 注冊環境
conda create -n python3_7 python=3.7 ipykernel
or 創建后 conda install ipykernel
  1. 環境添加到ipykernel
    (添加的是當前環境 需要先activate到需要環境)
python -m ipykernel install --user --name python3_7 --display-name "python3_7"
  1. 查看,刪除注冊到內核的環境
jupyter kernelspec list 查看
jupyter kernelspec remove python3_7 刪除
conda remove -n py36 --all 刪環境
  1. 配置文件
jupyter lab --generate-config 生成配置
c.ServerApp.ip = '*' 所有人訪問
c.LabApp.open_browser = False 不再默認打開瀏覽器
jupyter lab password 修改密碼
conda config --set auto_activate_base false 禁止自啟環境打開這個`jupyterhub_config.py`
c.Spawner.default_url = '/lab'
c.JupyterHub.ip = '0.0.0.0'
  1. 安裝插件
conda install nodejs
  1. 裝中文
pip install jupyterlab-language-pack-zh-CN
  1. 啟動
nohup jupyterhub -f  /opt/jupyterhub/jupyterhub_config.py &

在這里插入圖片描述
在這里插入圖片描述

3、關聯系統的其它認證用戶

用Root賬戶啟動,才能關聯系統的其它認證用戶

平臺環境基于jupyterhub+conda構建,默認環境是ubuntu賬戶下的conda環境,請勿用作開發環境,
請創建并使用自己的linux賬戶后,再自建環境使用

環境注冊命令

環境名稱 {python版本}{具體功用(看是否專用項目)}{使用人}
示例:python38_{xx模型}_long

> 注冊環境:在創建環境的同時添加ipykernel核心
conda create -n python38_xxx python=3.8 ipykernel > 環境添加到ipykernel(操作前必須先激活進入對應環境)
conda activate python38_xxx
python -m ipykernel install --user --name python38_xxx --display-name "python38_xxx"內核注冊異常處理
1、手動執行內核添加命令 如上: python -m ipykernel install --user --name python38_xxx --display-name "python38_xxx"
2、重啟面板,File->HubControlPanel->stopMyServer&startMyServer
3、選擇內核時可選中always start the preferred kernel,設置為默認內核環境

導入windows環境包

pip list --format=freeze > requirements.txt進入到需要安裝的環境
conda activate python38_xxx  刪除requirements.txt文件多余的包(conda自帶或windows特有
類似:conda,clyent,distribute,pip,jupyter,setuptools,wheel .. 安裝過程失敗或卡住不動的包,建議刪除后繼再單獨安裝pip導入
python -m pip install -r requirements.txt

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41405.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41405.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41405.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PostgreSQL邏輯備份pg_dump使用及其原理解析

一、原理分析 1、循環調用getopt_long解析命令行參數,將參數保存到static DumpOptions dopt;中 2、判斷參數是否相容,不相容則退出: options -s/--schema-only and -a/--data-only cannot be used togetheroptions -c/--clean and -a/--data…

uni-app中監聽網絡狀態,并在嵌入webView頁面的組件中添加網絡監測

uni-app中監聽網絡狀態,并在嵌入webView頁面的組件中添加網絡監測 uni-app中監聽網絡狀態 下載插件 打開網絡異常組件頁面,點擊"下載插件并導入HBuilderX"按鈕,打開HBuilderX軟件后,選擇需要導入插件的項目&#xff…

機器學習與模型識別1:SVM(支持向量機)

一、簡介 SVM是一種二類分類模型,在特征空間中尋找間隔最大的分離超平面,使得數據得到高效的二分類。 二、SVM損失函數 SVM 的三種損失函數衡量模型的性能。 1. 0-1 損失: 當正例樣本落在 y0 下方則損失為 0,否則損失為…

系統架構設計師-信息安全技術(1)

目錄 一、信息安全基礎 1、信息安全五要素 2、網絡安全漏洞 3、網絡安全威脅 4、安全措施的目標 二、信息加解密技術 1、對稱加密 2、非對稱加密 3、加密算法對比 三、密鑰管理技術 1、數字證書 2、PKI公鑰體系 四、訪問控制技術 1、訪問控制基本模型 2、訪問控制的實現技術…

【Linux命令詳解 | ssh命令】 ssh命令用于遠程登錄到其他計算機,實現安全的遠程管理

文章標題 簡介一,參數列表二,使用介紹1. 連接遠程服務器2. 使用SSH密鑰登錄2.1 生成密鑰對2.2 將公鑰復制到遠程服務器 3. 端口轉發3.1 本地端口轉發3.2 遠程端口轉發 4. X11轉發5. 文件傳輸與遠程命令執行5.1 文件傳輸5.1.1 從本地向遠程傳輸文件5.1.2 …

TensorFlow 的基本概念和使用場景

簡介 TensorFlow 是一個開源的人工智能框架,由 Google 公司開發,用于構建和訓練機器學習模型。 TensorFlow 的基本概念包括: 1. 張量 (Tensor): TensorFlow 中的基本數據結構,可以理解為多維數組。 2. 計算圖 (Graph): TensorF…

深度學習入門-3-計算機視覺-圖像分類

1.概述 圖像分類是根據圖像的語義信息對不同類別圖像進行區分,是計算機視覺的核心,是物體檢測、圖像分割、物體跟蹤、行為分析、人臉識別等其他高層次視覺任務的基礎。圖像分類在許多領域都有著廣泛的應用,如:安防領域的人臉識別…

軟考筆記——9.軟件工程

軟件工程的基本原理:用分階段的生命周期計劃嚴格管理、堅持進行階段評審、實現嚴格的產品控制、采用現代程序設計技術、結果應能清除的審查、開發小組的人員應少而精、承認不斷改進軟件工程事件的必要性。 軟件工程的基本要素:方法、工具、過程 軟件生…

babylonjs基于自定義網格生成圍欄動畫

效果: import { Vector3, Mesh, MeshBuilder, StandardMaterial, Texture, Animation, Color3 } from "babylonjs/core"; import imgUrl from "./image/headerwangge2.png" // 創建模型護欄特效 export default class CreateRail {constructor…

cocos creator 設置精靈鏡像翻轉效果

在 Cocos Creator 中,你可以通過代碼來設置精靈節點的鏡像翻轉效果。具體來說,你可以使用精靈節點的 setScale 方法來實現這一點。以下是在代碼中設置水平鏡像翻轉和垂直鏡像翻轉的示例: // 獲取精靈節點的引用 let spriteNode cc.find(&qu…

小程序swiper一個輪播顯示一個半內容且實現無縫滾動

效果圖&#xff1a; wxml&#xff08;無縫滾動&#xff1a;circular"true"&#xff09;&#xff1a; <!--components/tool_version/tool_version.wxml--> <view class"tool-version"><swiper class"tool-version-swiper" circul…

數模論文寫作細節要求

目錄 優秀論文必要條件 數學建模的基本思路 第一步&#xff1a;了解問題——查文獻、找數據 第二步&#xff1a;闡述要解決什么問題、用什么方法 其余步驟&#xff1a;給出數學模型、計算求解、對比結果與真實情況、應用于現實問題。 使用某種數學方法的理由和依據 創…

Python爬蟲性能優化:多進程協程提速實踐指南

各位大佬們我又回來了&#xff0c;今天我們來聊聊如何通過多進程和協程來優化Python爬蟲的性能&#xff0c;讓我們的爬蟲程序6到飛起&#xff01;我將會提供一些實用的解決方案&#xff0c;讓你的爬蟲速度提升到新的高度&#xff01; 1、多進程提速 首先&#xff0c;讓我們來看…

cs231n assignment2 q5 PyTorch on CIFAR-10

文章目錄 嫌啰嗦直接看源碼Q5 :PyTorch on CIFAR-10three_layer_convnet題面解析代碼輸出 Training a ConvNet題面解析代碼輸出 ThreeLayerConvNet題面解析代碼輸出 Train a Three-Layer ConvNet題面解析代碼輸出 Sequential API: Three-Layer ConvNet題面解析代碼輸出 CIFAR-1…

SpringBoot整合ArtemisMQ筆記

SpringBoot整合ArtemisMQ筆記 本案例是springboot2.4.2整合Apache ArtemisMQ, 發送jms信息和訂閱jms消息的代碼示例pom配置 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-artemis</artifactId><…

BT利器之wazuh

目錄 一、什么是wazuh 二、wazuh的安裝 1.倉庫安裝 2.虛擬機OVA安裝 3.其他安裝方式 三、淺析wazuh的規則、解碼器等告警原理以及主動響應 1.主動響應(active-response) 2.告警信息(alerts) 3.規則以及解碼器(rules and decoders) 3.1.規則 3.2.解碼器 4.linux后門r…

力扣75——圖深度優先搜索

總結leetcode75中的圖深度優先搜索算法題解題思路。 上一篇&#xff1a;力扣75——二叉搜索樹 力扣75——圖深度優先搜索 1 鑰匙和房間2 省份數量3 重新規劃路線4 除法求值1-4 解題總結 1 鑰匙和房間 題目&#xff1a; 有 n 個房間&#xff0c;房間按從 0 到 n - 1 編號。最初…

【Matter】基于Ubuntu 22.04搭建matter開發環境:chip-tool 配網之 matter-over-wifi

前言 主要是記錄一下學習過程&#xff0c;梳理下思路&#xff0c;拋轉~ 官方的開發環境&#xff0c;基于Linux版本&#xff0c;官方的環境是基于樹莓派環境的&#xff0c;原理其實也比較明了&#xff0c;目的也比較明確&#xff0c;就是達到Linux 主機和wifi 路由在同一局域網…

SpringBoot攜帶Jre綠色部署項目

文章目錄 SpringBoot攜帶Jre綠色部署運行項目1. 實現步驟2. 自測項目文件目錄及bat文件內容&#xff0c;截圖如下&#xff1a;2-1 項目文件夾列表&#xff1a;2-2. bat內容 3. 擴展&#xff1a; 1.6-1.8版本的jdk下載 SpringBoot攜帶Jre綠色部署運行項目 說明&#xff1a; 實…

256創作紀念日

不知不覺已經是寫博客的第256天了&#xff0c;從一個躺平的人變成一個為一件事能堅持并不斷去做是真的很爽&#xff0c;回過頭看看自己&#xff0c;寫了好多東西&#xff0c;也慢慢在成長&#xff0c;不再是以前那個只會玩的小孩了。 1、自我介紹 我是來自西安的一名準大三學…