搭建Spark環境(Standalone部署模式)
搭建Spark的單獨(Standalone)部署模式
Standalone單獨部署(偽分布或全分布),不需要有依賴資源管理器。主要學習單獨(Standalone)部署中的偽分布模式的搭建。
實驗環境
個人筆記本安裝。
內存:至少4G
硬盤:至少空余40G
操作系統: 64位 Windows系統
VMware 12+
實驗步驟
1、總體步驟如下:
- 安裝前的準備
- 搭建
2、詳細步驟如下
安裝前的準備
①安裝Linux
下載Ubuntu 16.04,下載地址:http://ftp.sjtu.edu.cn/ubuntu-cd/16.04.5/
(a)Desktop --> 桌面版,默認帶了界面
ubuntu-16.04.5-desktop-amd64.iso(b)Server --> 服務器版,默認沒有帶界面
ubuntu-16.04.5-server-amd64.iso②關閉防火墻
查看防火墻狀態:
$ sudo ufw status Status: inactive
關閉防火墻:
$ sudo ufw disable
防火墻在系統啟動時自動禁用
$ sudo ufw status Status: inactive
查看防火墻狀態:
$ sudo ufw status Status: inactive
③確認openssh-client、openssh-server是否安裝
$ dpkg -l | grep openssh
如果沒有安裝,則安裝:
$ sudo apt-get install openssh-client $ sudo apt-get install openssh-server
④設置免密登錄
通過ssh-keyen生成一個RSA的密鑰對
$ ssh-keygen -t rsa -P ''
公鑰追加到~/.ssh/authorized_keys文件中
$ ssh-copy-id -i ~/.ssh/id_rsa.pub 主機名(如上面都node1)
測試免密碼登錄:
$ ssh node1
⑤安裝JDK
解壓到根目錄:
$ tar zxvf jdk-8u144-linux-x64.tar.gz -C ~
建一個軟鏈接(方便使用)
$ ln -s jdk-8u144-linux-x64 jdk
配置環境變量:
$ vi ~/.bashrc (註意!等號兩側不要加入空格) export JAVA_HOME=/home/hadoop/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
使得變量生效:
$ source ~/.bashrc
⑥安裝Scala
將Scala的安裝包通過Xshell、Xftp上傳到Linux。
(解壓) $ tar zxvf scala-2.11.12.tgz -C ~ (創建軟連接) $ ln -s scala-2.11.12 scala (配置環境變量) $ vi ~/.bashrc export SCALA_HOME=~/scala export PATH=$SCALA_HOME/bin:$PATH (使環境變量生效) $ source ~/.bashrc
⑦安裝Anoaconda3
上傳Anaconda的安裝包,執行安裝。
$ sh Anaconda3-5.2.0-Linux-x86_64.sh
許可協議,按ENTER繼續,顯示許可協議,按q到達“是否同意”,輸入yes,同意。如下圖所示:
安裝位置,查看文件即將安裝的位置,按enter,即可安裝。如下圖所示:
環境變量,加入環境變量,輸入yes。如下圖所示:
不安裝VSCode,輸入no。如下圖所示:
source ~/.bashrc
**⑧安裝pyspark**
安裝pyspark
$ conda install pyspark
搭建Spark偽分布
①安裝包解壓、配置環境變量
$ tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz -C ~
創建超鏈接:(便於使用)
$ ln -s spark-2.4.0-bin-hadoop2.7 spark
增加環境變量(如果已經安裝過hadoop,這步可以省略,避免沖突)
$ vi ~/.bashrc export SPARK_HOME=/home/hadoop/spark export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH $ source ~/.bashrc
②修改配置文件
進入Spark配置文件所在目錄,修改spark-env.sh文件。
$ cd ~/spark/conf $ cp spark-env.sh.template spark-env.sh $ vi spark-env.sh export JAVA_HOME=/home/hadoop/jdk export SPARK_MASTER_HOST=node1 export SPARK_MASTER_PORT=7077 #識別到python export PYTHON_HOME=/home/hadoop/anaconda3 export PATH=$PYTHON_HOME/bin:$PATH
修改slaves文件。
$ cp slaves.template slaves $ vi slaves
將裏面在localhost改完主機名
# A Spark Worker will be started on each of the machines listed below. #localhost node1
③啟動
$ cd ~/spark $ sbin/start-all.sh
④驗證
(a)查看進程驗證
$ jps 顯示如下進程: 1398 Worker 1327 Master
(b)打開網頁http://[IP地址]:8080
(c)打開pyspark驗證
pyspark --master spark://node1:7077
conda
conda簡介
一個工具,用於包管理和環境管理 包管理與pip類似,管理Python的第三方庫。 環境管理能夠允許用戶使用不同版本Python,並能靈活切換
conda基本命令
查看版本:
conda --version 或: conda -V
創建環境:
conda create --name test
創建制定python版本的環境:
conda create --name test2 python=2.7 conda create --name test3 python=3
創建包含某些包的環境:
conda create --name test4 numpy scipy
創建指定python版本下包含某些包的環境
conda create --name test5 python=3.5 numpy scipy
刪除某個環境
conda remove --name test --all
列舉當前所有環境:
conda info --envs conda env list
進入某個環境:
conda activate test
退出當前環境
conda deactivate
搭建Spark環境(Standalone部署模式)