下载安装python37
[root@k8s-node03 ~]# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz [root@k8s-node03 ~]# tar xf Python-3.7.0.tar.xz [root@k8s-node03 ~]# mkdir /usr/local/python37 [root@k8s-node03 ~]# cd Python-3.7.0 [root@k8s-node03 ~]# ./configure --prefix=/usr/local/python37/ [root@k8s-node03 ~]# make && make install [root@k8s-node03 ~]# echo "export PATH=/usr/local/python37/bin:/k8s/kubenerets/bin:/k8s/etcd/bin:/k8s/flanneld/bin:$PATH" >> /etc/profile
下载安装jupyter
[root@k8s-node03 ~]# pip3 install jupyter #时间比较长 [root@k8s-node03 ~]# jupyter notebook #启动jupyter [root@k8s-node03 ~]# groupadd -g 1001 hanye #由于官方说明 尽量不要使用root进行启动jupter 我这里创建一个hanye用户来启动 [root@k8s-node03 ~]#useradd -m -d /home/hanye -g hanye -u 1001 -s /bin/bash hanye 强制使用root启动 jupyter notebook --allow-root
获取jupter登录密码
[root@k8s-node03 ~]# from IPython.lib import passwd [root@k8s-node03 ~]# passwd() #得到加密后的hash [root@k8s-node03 ~]# exit()
报错处理
没有找到web浏览器: could not locate runnable browser [root@k8s-node03 ~]# jupyter notebook --generate-config [root@k8s-node03 ~]# vim ~/.jupyter/jupyter_notebook_config.py c.NotebookApp.allow_root = True c.NotebookApp.ip = '192.168.1.29' c.NotebookApp.open_browser = True c.NotebookApp.password = u'sha1:864307304241:6b36b92557f19051777da772de44715a022adc54' #填写上面passwd()生成的sha密钥 c.NotebookApp.port = 8888 c.MappingKernelManager.root_dir = '/root' [root@k8s-node03 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT
处理不能web访问
您刚刚在服务器上运行Jupyter Notebook。 但是,为了访问应用程序并开始使用笔记本,您需要使用SSH隧道连接和本地计算机上的Web浏览器连接到应用程序。
使用SSH隧道连接到Jupyter Notebook应用程序
SSH隧道是连接到服务器上运行的Jupyter Notebook应用程序的一种简单而快速的方法。 安全shell(通常称为SSH )是一种网络协议,使您可以通过不安全的网络安全地连接到远程服务器。 SSH协议包括端口转发机制,允许您将在服务器上的特定端口号上运行的某些应用程序隧道传输到本地计算机上的特定端口号。 我们将学习如何安全地“转发”服务器上运行的Jupyter Notebook应用程序(默认情况下,在端口8888 )到本地计算机上的端口。 用于建立SSH隧道的方法取决于本地计算机的操作系统。 跳转到与您的机器最相关的下面小节。 注意:可以使用DigitalOcean Web控制台设置和安装Jupyter Notebook,但必须通过终端或PuTTY通过SSH隧道连接到应用程序。
Linux进行SSH隧道
如果您的本地计算机运行Linux或macOS,则只需运行单个命令即可建立SSH隧道。 ssh是打开SSH连接的标准命令,但是当与-L指令一起使用时,您可以指定本地主机(即本地计算机)上的给定端口将转发到给定的主机和端口上。远程主机(在这种情况下,您的服务器)。 这意味着在远程服务器上指定端口上运行的任何内容( 8888 ,Jupyter Notebook的默认端口)将出现在本地计算机上的指定端口上(示例命令中为8000 )。 要建立自己的SSH隧道,请运行以下命令。 例如,如果另一个进程正在使用8000 ,请随意将端口8000更改为您选择的一个。 建议您使用大于或等于8000端口,因为这些端口号不太可能被其他进程使用。 确保包含您自己的服务器的IP地址和服务器的非root用户的名称: 我这里直接使用我安装jupter的服务器进行连接 [root@k8s-node03 ~]# ssh -L 8000:192.168.1.29:8888 hanye@192.168.1.29 如果此命令没有错误,它将使您登录到远程服务器。 从那里,激活虚拟环境: [root@k8s-node03 ~]# find / -name "activate" /root/Python-3.7.0/Lib/venv/scripts/common/activate /usr/local/python37/lib/python3.7/venv/scripts/common/activate [root@k8s-node03 ~]# source /root/Python-3.7.0/Lib/venv/scripts/common/activate __VENV_PROMPT__[root@k8s-node03 ~]# jupyter notebook
访问测试
写一个python