1. 下载安装:
下载地址:wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.0.1-Linux-x86_64.sh --no-check-certificate
(最新版:wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh --no-check-certificate)
下载后执行Anaconda3-5.0.1-Linux-x86_64.sh脚本可以安装。
安装提示:
提示一:
Do you accept the license terms? [yes|no] [no] >>> yes
提示二:
Anaconda3 will now be installed into this location: /home/hadoop//anaconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below
此时,您可以输入指定的安装目录,如我输入/home/hadoop/bigdata/anaconda3/
提示3:确认安装路径是否自动添加到环境变量中yes
Do you wish the installer to prepend the Anaconda3 install location to PATH in your /home/hadoop//.bashrc ? [yes|no] [no] >>> yes
2. 配置jupyter notebook服务
2.1生成配置文件
cd /home/hadoop/bigdata/anaconda3/bin/ ./jupyter notebook --generate-config
2.2 生成密码
./ipython In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: Out[2]: 'sha1:297308f26ac6:bc524d2e1afafdbb798456a9161254962968b113' In [3]: quit()
----------------------新版本-----------------------------------
In [1]: from notebook.auth import passwd
In [2]: passwd()Enter password: Verify password: Out[2]: 'argon2:$argon2id$v=19$m=10240,t=10,p=8$qprVWqc29AMaxanqkCjs1g$AQv2lP0mb05cVRUSjIVMZA'In [3]: quit()
这时候把Out[2] 记录上面显示的密码。
2.3 修改jupyter_notebook_config.py文件
vim jupyter_notebook_config.py
#c.NotebookApp.password_required=True c.NotebookApp.notebook_dir='/home/hadoop/jupyter_notebook' #c.NotebookApp.allow_root=True c.NotebookApp.ip='*' c.NotebookApp.open_browser=False #c.NotebookApp.password=刚刚生成的sha1' c.NotebookApp.port=7070 #这个端口不用pyspark的端口
3. 配置环境变量
vim /etc/profile
export ANACONDA_HOME=/home/hadoop/bigdata/anaconda3 export PATH=$PATH:$ANACONDA_HOME/bin export PYSPARK_DRIVER_PYTHON=jupyter-notebook export PYSPARK_DRIVER_PYTHON_OPTS="--ip=0.0.0.0 --port=8888"
或者,也可以只是/etc/profile中配置anaconda3的PATH路径如下:
# added by Anaconda3 installer export PATH=/home/hadoop/bigdata/anaconda3/bin:$PATH
然后在spark的spark-env.sh配置如下
4. 创建虚拟环境,激活
conda create -n pyspark-env python=3.6source activate pyspark-env
5. 依赖包在虚拟环境中安装
conda install -n pyspark-env pyarrow=0.9.0 conda install -n pyspark-env numpy=1.16.6 conda install -n pyspark-env mkl=2021.4.0
6.启动
pyspark
7. 输入浏览器 ip地址:8888
建立文件夹,建立python3测试文件。
"""SimpleApp.py""" from pyspark.sql import SparkSession logFile = "/tmp/logs/LICENSE" # Should be some file on your system spark = SparkSession.builder.appName("SimpleApp").getOrCreate() logData = spark.read.text(logFile).cache() numAs = logData.filter(logData.value.contains('a')).count() numBs = logData.filter(logData.value.contains('b')).count() print("Lines with a: %i, lines with b: %i" % (numAs, numBs)) spark.stop()
上面是测试代码,logFile是存在于hdfs上面的文件,找个文本文件上传。
执行机器学习样本
8. 指定jupyter虚拟环境配置
9. 通过打包不同环境解决不同的版本问题
使用conda可以解决不同的脚本需要不同版本的python或者其他环境。
通过将环境打包,在执行任务时指定环境包即可。
zip -r -9 -q py36spark.zip py36spark
或者
conda pack -n py36spark
建议使用conda pack,压缩比高,生成的文件较小。
安装conda pack 建议直接用pip install conda-pack
10. 后台启动脚本
新建脚本文件名 start_pyspark_backend.sh,放到spark的目录中/home/hadoop/bigdata/spark。
命令如下:
#!/bin/sh
nohup pyspark > ./logs/pyspark.log 2>&1 & echo $! > pyspark.pid
这样执行该脚本,就在后台启动。