1、 安装anaconda(在线)
2、 连接jupyter notebook(在线)
3、离线Anaconda配置
4、离线Python环境配置(虚拟环境)
5、 jupyter notebook 连接pyspark
1.1、 下载anaconda
1)在终端输入(x86系统)
wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
报错
wget:commend not found
# 没有wget命令则用yum安装,在终端输入:
yum install wget -y
2)在终端输入(Arm系统)
wget https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh
1.2、 安装,在终端输入
bash Anaconda3-2020.02-Linux-x86_64.sh
点击Enter,出现安装条例,一直Enter键直至出现是否同意,输入yes,最后确定安装位置。
1.3、 激活环境,在终端输入
source ~/.bashrc
1.4、 建立python虚拟环境,在终端输入
conda create -n pytorch(env_name) python==3.7.0
1.5、 激活环境
conda activate pytorch
1、在1.2步安装过程中可能出现
bunzip2 connot find
解决
yum install bzip2
2.1 进入虚拟环境
conda activate pytorch(env_name)
2.2 在虚拟环境中安装jupyter,在终端输入
conda install jupyter
2.3 生成jupyter的配置文件,在终端输入
jupyter notebook --generate-config
2.4 修改配置文件,在终端输入
vim ~/.jupyter/jupyter_notebook_config.py
将如下几项内容去除注释后修改值如下并保存:
# 服务ip地址,0.0.0.0代表绑定到本机所有的ip上
# c.NotebookApp.ip='0.0.0.0'
# 工作端口
c.NotebookApp.port =8888 # 随便指定一个端口
# 共享目录
c.NotebookApp.notebook_dir = 'xxxxxxx' # 设置Jupyternotebook 打开的根目录
2.5 配置防火墙封端口
firewall-cmd --zone=public --add-port=8888/tcp –permanent
sudo systemctl restart firewalld
2.6 修改密码
重置jupyter notebook密码,在终端输入
jupyter notebook password
然后输入设置的密码即可。
2.7 为jupyter notebook添加conda的内核
在虚拟环境中安装插件,在终端输入
conda install nb_conda
2.8 运行jupyter notebook,在虚拟环境下启动,在终端输入
jupyer notebook
如果是管理员则输入
jupyer notebook --allow-root
然后输入设置的密码即可。
解决方案:将所缺失文件设置成一个软连接,连接到该目录下同一性质文件,这里报错是缺失libffi.so.7文件,但是该目录下存在libffi.so.6文件,故将其软连接于libffi.so.6文件上,问题得到解决。
目录为虚拟环境中的lib文件夹
cd ~/anaconda/envs/env_name/lib
ln -s libffi.so.6 libffi.so.7
3.1、将离线下载的Anaconda安装包导入离线环境中
3.2、安装,终端输入命令
bash Archiconda3-0.2.3-linux-aarch64.sh
点击Enter,出现安装条例,一直Enter键直至出现是否同意,输入yes,最后确定安装位置。(同上)
3.3、激活环境
source ~/.bashrc
4.1、将在线配置好的虚拟环境env_name打包,压缩虚拟环境
tar -cvf env_name.tar env_name/
4.2、使用U盘或者ssh将压缩后的文件传输到服务器
4.3、将压缩包复制到服务器上的anaconda3/envs目录下,并解压,在终端输入
tar -xvf env_name.tar # 解压
4.4、打开环境
conda activate env_name
在master服务器端,添加的~/.bashrc文件中添加如下环境变量:
vim ~/.bashrc
#py-spark
export PYTHONPATH = /spark/python:$PYTHONPATH #pythonpath指向spark目录下的python文件夹
export PYTHONPATH = /spark/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH #指向py4j包,没有的话下载一个
export PYSPARK_PYTHON=/anaconda3/envs/envs_name/bin/python3 #使用虚拟环境中的python3
export PYSPARK_DRIVER_PYTHON=/anaconda3/envs/envs_name/bin/jupyter #使用虚拟环境中的jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --ip=’0.0.0.0’ --no-browser --allow-root"
在服务器端输入
pyspark
则会同样打印出访问链接,输入到本地浏览器访问即可。
此时的jupyter类似在终端启的一个pyspark-shell ,所以在启用jupyter时可以定义任务资源,如下
nohup pyspark --master yarn --deploy-mode client --driver-memory 20g --driver-cores 1 --num-executors 10 --executor-memory 6g --executor-cores 1 --conf spark.yarn.executor.memoryOverhead=8192 --conf spark.default.parallelism=800 &
"nohup"是定义在终端关闭后,jupyter程序仍在运行(常规的jupyter任务也可以用,很强大的功能);后面是定义的资源大小,可根据实际的情况配置。
关闭nohup进程
若想要关闭nohup jupyter,可以执行以下操作:
#查看进程
ps -aux | grep jupyter
#结束进程
kill -9 xxxx(进程号)