CENTOS7 Anaconda+Jupyter+Pyspark联合安装

目录

1、 安装anaconda(在线)
2、 连接jupyter notebook(在线)
3、离线Anaconda配置
4、离线Python环境配置(虚拟环境)
5、 jupyter notebook 连接pyspark

1、 安装anaconda(在线)

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、 连接jupyter notebook(在线)

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、离线Anaconda配置

3.1、将离线下载的Anaconda安装包导入离线环境中

3.2、安装,终端输入命令

bash Archiconda3-0.2.3-linux-aarch64.sh

点击Enter,出现安装条例,一直Enter键直至出现是否同意,输入yes,最后确定安装位置。(同上)

3.3、激活环境

source ~/.bashrc

4、离线Python环境配置(虚拟环境)

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

5、 jupyter notebook 连接pyspark

在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(进程号)

你可能感兴趣的:(jupyter,python,ide,spark)