標籤:

2018-03-16:ubuntu安裝pyspark

安裝java環境

spark需要用到java環境,如果在終端敲入java -version命令提示找不到java命令。這說明還沒有安裝java環境。安裝方式有很多中,最簡單的使用apt安裝:

sudo apt install openjdk-8-jre-headless

這裡選擇的是jdk8,現在jdk9也已經有了,但是試了一下有一些小問題。

另一種安裝方式,是下載openjdk的安裝包,解壓到要安裝的目錄,並將解壓後的bin路徑添加到環境變數PATH中:

sudo vi /etc/profile#添加export PATH=$PATH:path_to_java_bin#使用下面的命令使設置立即生效:(下同)source /etc/profile

做完上面的操作使用java -version 命令會看到jdk的版本信息。另外除了openjdk還有其他版本的jdk可以選擇,這裡只使用了openjdk。

spark還需要一個JAVA_HOME的環境變數,來得到jdk的安裝目錄。上面的安裝不會自動生成這個變數,所以需要手動添加:

sudo vi /etc/profile#添加# 使用apt安裝時,默認路徑是下面這個。export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

安裝pyspark

假定已經安裝了python,以及python的包管理工具pip。最簡單的安裝pyspark的方式就是使用pip命令:

sudo pip3 install pyspark #python3版本sudo pip install pyspark #python2版本

這樣安裝以後,可以使用pyspark命令運行互動式的spark,也可以使用spark-submit命令提交腳本。

如果使用的是python3,需要添加環境變數:export PYSPARK_PYTHON=python3

這種安裝方式,可以使用已經配置好的分散式環境;也可以在本地做單節點多進程的計算。但是不能配置spark standlone分散式環境。(參考來源)

而且神奇的是,使用這種安裝方式可以直接用python提交腳本:python3 test.py

另一種比較常規的安裝方式,是下載spark安裝包。解壓到要安裝的目錄。然後添加環境變數:

sudo /etc/profile#添加export SPARK_HOME=path_to_sparkexport PATH=$PATH:$SPARK_HOMR/bin#說明:添加環境變數的目的主要是為了讓系統找到命令。#其實也可以不添加,然後使用命令的時候加上完整路徑。#設置環境變數可以在/etc/profile里#也可以在~目錄下的.bash_profile或.bashrc中,略有差異

分散式環境

spark的主要作用是提供一套更高級更簡單的分散式編程介面,使得分散式編程不像MPI那樣複雜(同時不如MPI自由度大)。按上面的方式安裝好之後,就可以在單機上學習spark編程了。

如果希望代碼在多台機器上運行,則需要搭建分散式環境。分散式環境的搭建也有多種工具,spark安裝包本身也提供了一套工具,可以搭建「spark standalone cluster」分散式環境。這裡我們選擇搭建的是yarn環境;spark standalone的搭建相對更簡單,可以參考spark官方說明。

搭建yarn環境大致分下面幾步:

  1. 下載hadoop安裝包,解壓到安裝目錄
  2. 添加相關環境變數
  3. 配置hadoop和yarn的參數
  4. 格式化分散式文件系統:hdfs namenode -format;啟動hdfs:start-dfs.sh;啟動yarn:start-yarn.sh

具體配置可以參考官方說明,還有很多博客,這裡就不重複寫了。


推薦閱讀:

大數據那些事(29):從Spark到Spark
Azkaban集群安裝
Hadoop map-reduce的 speculative execution(推測執行)
大數據技術五:SecureCRT_x64_8.1安裝及破解
虛擬機安裝部署hadoop集群記錄

TAG:Spark | Hadoop | YARN |