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/
提示三:確認是否自動加安裝路徑添加到環境變量中,選擇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.6
source 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虛擬環境配置
注意:此時在jupyter notebook中運行環境並不是我們指定的虛擬環境,而只是默認的環境。
所以需要參考 https://www.cnblogs.com/30go/p/16028840.html 來完成指定虛擬環境在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
這樣執行該腳本,就在后台啟動。