一、背景


为公司负责 Data Science 的同事配置线上 jupyter_server (jupyter + jupyter_kernel_gateway)环境。

二、环境


CentOS 7.6

三、安装


从最基础的 python 安装开始介绍。

1、python

采用编译安装,版本为 3.7.0,教程:

https://www.centos.bz/2018/01/在centos上安装python3的三种方法/

2、anaconda

下载地址:

https://www.anaconda.com/distribution/

教程:

https://linuxize.com/post/how-to-install-anaconda-on-centos-7/

坑:安装完 anaconda,发现 conda 并没有自动配到环境变量中,去anaconda找,没找到,其实在这里:/mnt/ds/anaconda3/etc/profile.d/conda.sh

3、jupyter

Anaconda 中自带 jupyter,无需安装。(但记得配环境变量)

4、jupyter_kernel_gateway

pip3 install jupyter_kernel_gateway

坑:因为我的 ssh 账号不是 root,所以用 pip 时,不能安装到没有权限的系统目录(如/usr/local/lib/python3.7),所以需要加上--user,这样会在我的主目录中创建 pip 安装包了。

四、配置与启动


1、jupyter

(1)创建配置文件

jupyter notebook --generate-config

配置文件会默认创建在 ~\.jupyter\jupyter_notebook_config.py

(2)修改配置文件

修改~\.jupyter\jupyter_notebook_config.py的这几个地方:


## 相当于启动命令时的当前目录
c.NotebookApp.notebook_dir = '/mnt/ds/ds_Independent_product/jurpyter_server' ## 相当于命令参数:--ip=0.0.0.0
c.NotebookApp.ip = '0.0.0.0' ## 相当于命令参数:--port=8890
c.NotebookApp.port = 8890 # 下面两种登录方式可以共存:
## 设置登录token(默认每次启动时token都会变,设置后就不会变了)
c.NotebookApp.token = 'd77e703b-c26f-4dbc-9e1c-5187a36619bb:bfb66fbfe0864f7b869ed3a50467c03c'
## 设置登录密码
c.NotebookApp.password = u'sha1:08017771105d:5cd7cd486867427fee56a50b3217338986e42813' ## 设置 jupyter public 资源可以被前端随意引用
c.NotebookApp.allow_origin = '*'
# 支持 <iframe> 引用
c.NotebookApp.tornado_settings = {
'headers': {
'Content-Security-Policy': "frame-ancestors * 'self' "
}
}

坑1:c.NotebookApp.ip需要指定为0.0.0.0,否则外网访问不了(报错 Socket Error 99)

参考资料:https://github.com/ipython/ipython/issues/6193

坑2:c.NotebookApp.password的值需要加上前缀u,是指定字符串是 UTF-8 的意思,但是字符串也不是中文呀!具体原因未知。

参考资料:https://cloud.tencent.com/developer/ask/59082

(3)启动

jupyter notebook

2、jupyter_kernel_gateway

jupyter kernelgateway --KernelGatewayApp.api='kernel_gateway.notebook_http' --KernelGatewayApp.seed_uri='/mnt/ds/ds_Independent_product/jurpyter_server/main.ipynb' --port=8888

--KernelGatewayApp.seed_uri指定启动server的文件

默认端口为8888

坑:启动时报错,原因是没有装 jupyter 的一个插件ipywidgets,安装方式如下:

pip3 install ipywidgets
jupyter nbextension enable --py >widgetsnbextension

五、注意点


1、python 括号很重要

# 错
'R2_threshold' in b == True # 对
( 'R2_threshold' in b ) == True

CentOS 线上搭建 jupyter_server 笔记的更多相关文章

  1. 在CentOS 6上搭建私有的Docker Registry

    在CentOS 6上搭建私有的Docker Registry v2Registry概念 :Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image. 依赖 ...

  2. CentOS Linux上搭建PPPoE服务器及拨号设置

    CentOS Linux上搭建PPPoE服务器及拨号设置 搭建PPPoE,成功了的话,就觉得超级简单,在CentOS Linux更是5步左右就能搞定. 1.安装pppoe,安装完成后,会有pppoe- ...

  3. CentOS 7 上搭建LNMP环境

    (转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...

  4. 分布式存储 FastDFS-5.0.5线上搭建

    前言:       由于公司项目需要,最近开始学习一下分布式存储相关知识,确定使用FastDFS这个开源工具.学习之初,自己利用VMware虚拟机搭建了一个5台机器的集群,摸清了安装过程中可能出现的问 ...

  5. Linux(Centos)系统上搭建SVN以及常见错误解答

    本文主要介绍怎样在Centos上搭建SVN,文章内容比较基础,适合小白用户学习. 1.Linux版本Centos 6.5 查看linux版本命令: cat /etc/issue 2.查看本机上是否已经 ...

  6. centos 7上搭建HDP2.3集群

    centos 7上安装 cat /etc/redhat-release

  7. CentOS Linux上安装Oracle11g笔记

    CentOS Linux上安装Oracle11g 到 otn.oracle.com 网站上下载 Linux版的oracle 11g 编辑 /etc/sysctl.conf : kernel.shmal ...

  8. CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

    一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7centos6 ...

  9. CentOS 7上搭建Docker环境

    一.Docker介绍和安装 http://linux.cn/article-4340-1.html Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机 ...

随机推荐

  1. 设置更改root密码、连接mysql、mysql常用命令

    6月19日任务 13.1 设置更改root密码13.2 连接mysql13.3 mysql常用命令 13.1 设置更改root密码 使用场景:例如长时间不用忘记了mysql的root密码,那么就需要去 ...

  2. Linux下利用nginx实现负载均衡

    linux下利用nginx实现负载均衡 前提条件: 1,安装好jdk 2,安装好tomcat和nginx(可以参考我前两篇文章) 满足前提条件后,要用nginx实现负载均衡,主要是靠配置nginx的配 ...

  3. sina中的附件图片处理

    这样写就会频繁的创建和销毁对象 因为setPhotos这个方法调用频繁 如果在里面直接用for循环创建9个UIImageView如果因为cell重用 比如在上一个cell中本来就有UIImageVie ...

  4. CMSdede后台登陆界面设计

    1 在这里我就公布 css 和jq  也就是dede文件下templets的login.htm页面:代码如下      $(function () {             $(".tex ...

  5. C 基础数据类型 性能测试

    简单测试了C语言中分别使用16位整数和32位整数实现的定点数和内建浮点数的乘除性能: 在release 下 循环 1 0000 0000 * 20次 的时间: CPU:7700K/4.2Ghz 定点数 ...

  6. shell du sh 文件大小输出

    按照文件大小升序输出结果: du -sh * | sort -h 如果要逆序输出,则: du -sh * | sort -hr

  7. golang数据结构之总结

    golang语言的一些数据结构实现,包括: 队列(单队列.循环队列) 链表(单链表.双链表.循环链表(解决约瑟夫环问题)) 栈(实现加减乘除计算) 递归之迷宫问题 哈希表(员工管理系统) 树(三种遍历 ...

  8. 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

    点击下载<Knative 云原生应用开发指南> 自 2018 年 Knative 项目开源后,就得到了广大开发者的密切关注.Knative 在 Kubernetes 之上提供了一套完整的应 ...

  9. CF 1130A 1130B 1130C1129A1 1129A2 1129B(Round542A B C D1 D2 E)题解

    A : Be Positive 题目地址:https://codeforces.com/problemset/problem/1130/A 题解:让你求是否满足一个d使得数列长为n的a数组的每个数除以 ...

  10. LightOJ 1253 Misere NIM(反NIM博弈)

    Alice and Bob are playing game of Misère Nim. Misère Nim is a game playing on k piles of stones, eac ...