天天看點

Spark分布式環境搭建Spark從菜鳥到入門

Spark從菜鳥到入門

  1. Spark初體驗——wordcount詞頻統計
  2. Spark基礎知識學習
  3. Spark單機版環境搭建
  4. Spark源碼學習
  5. Spark分布式環境搭建
  6. Spark基準測試平台BigDataBench使用教程

Spark分布式環境搭建

1. 叢集機器準備

(1) 在VMware 中安裝三台虛拟機,一台Ubuntu虛拟機作Master,一台Ubuntu虛拟機作slave01,一台Ubuntu虛拟機作slave02。

Spark分布式環境搭建Spark從菜鳥到入門

(2) Vmware網絡設定成NAT連接配接,即共享主機的IP位址,位于同一區域網路下。

Spark分布式環境搭建Spark從菜鳥到入門

(3) 一般來說會自動配置設定三個連續的IP位址,如果需要配置靜态IP,見此教程

2. 配置 ssh 無密碼通路叢集機器

(1) ifconfig 指令檢視目前虛拟機ip,記錄下三台機器的ip

Spark分布式環境搭建Spark從菜鳥到入門

(2)修改三台虛拟機的主機名 sudo vim /etc/hostname

分别改成master、slave01、slave02

(3)分别更改三台虛拟機下的配置檔案 /etc/hosts,統一配置如下:

Spark分布式環境搭建Spark從菜鳥到入門

(4) 三台主機電腦分别運作如下指令,測試能否連接配接到本地localhost

ssh localhost
           

在保證了三台主機電腦都能連接配接到本地localhost後,還需要讓master主機免密碼登入slave01和slave02主機。在master執行如下指令,将master的id_rsa.pub傳送給兩台slave主機。

scp ~/.ssh/id_rsa.pub [email protected]:/home/hadoop/
scp ~/.ssh/id_rsa.pub [email protected]:/home/hadoop/
           

Shell 指令

在slave01,slave02主機上分别運作ls指令

ls ~
           

Shell 指令

可以看到slave01、slave02主機分别接收到id_rsa.pub檔案

接着在slave01、slave02主機上将master的公鑰加入各自的節點上,在slave01和slave02執行如下指令:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub
           

如果master主機和slave01、slave02主機的使用者名一樣,那麼在master主機上直接執行如下測試指令,即可讓master主機免密碼登入slave01、slave02主機。

ssh slave01
           

即可免密登陸其他節點

3. hadoop叢集配置

(1)修改master主機修改Hadoop如下配置檔案,這些配置檔案都位于/usr/local/hadoop/etc/hadoop目錄下。

修改slaves:

這裡把DataNode的主機名寫入該檔案,每行一個。這裡讓master節點主機僅作為NameNode使用。

slave01
slave02
           

修改core-site.xml

Spark分布式環境搭建Spark從菜鳥到入門

修改hdfs-site.xml:

Spark分布式環境搭建Spark從菜鳥到入門

修改mapred-site.xml

Spark分布式環境搭建Spark從菜鳥到入門

修改yarn-site.xml

Spark分布式環境搭建Spark從菜鳥到入門

(2) 将 master 上的 /usr/local/Hadoop 檔案夾複制到各個節點上。

在 master 節點主機上執行:

cd /usr/local/
tar -zcf ~/hadoop.master.tar.gz ./hadoop
cd ~
scp ./hadoop.master.tar.gz slave01:/home/hadoop
scp ./hadoop.master.tar.gz slave02:/home/hadoop
           

在slave01,slave02節點上執行:

sudo rm -rf /usr/local/hadoop/
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
           

(3) 啟動hadoop叢集

在master主機上執行如下指令:

cd /usr/local/hadoop
bin/hdfs namenode -format
sbin/start-all.sh
           

運作後,在master,slave01,slave02運作jps指令,檢視:

Spark分布式環境搭建Spark從菜鳥到入門
Spark分布式環境搭建Spark從菜鳥到入門
Spark分布式環境搭建Spark從菜鳥到入門

說明Hadoop叢集成功啟動。

4.安裝Spark以及環境配置

(1)下載下傳安裝Spark

在Master節點機器上,通路Spark官方下載下傳位址,下載下傳所需版本。

sudo tar -zxf ~/下載下傳/spark-2.1.0-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-2.1.0-bin-without-hadoop/ ./spark
sudo chown -R hadoop ./spark
           

(2)配置環境變量

在Mster節點主機的終端中執行如下指令:

vim ~/.bashrc
           

在.bashrc添加如下配置:

export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
           

(3)Spark配置

在Master節點主機上進行如下操作:

  1. 配置slaves檔案

    将 slaves.template 拷貝到 slaves

cd /usr/local/spark/
cp ./conf/slaves.template ./conf/slaves
           
  1. slaves檔案設定Worker節點。編輯slaves内容,把預設内容localhost替換成如下内容:
slave01
slave02
           
  1. 配置spark-env.sh檔案

    将 spark-env.sh.template 拷貝到 spark-env.sh

cp ./conf/spark-env.sh.template ./conf/spark-env.sh
           
  1. 編輯spark-env.sh,添加如下内容:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.1.133
           

SPARK_MASTER_IP 指定 Spark 叢集 Master 節點的 IP 位址;

  1. 配置好後,将Master主機上的/usr/local/spark檔案夾複制到各個節點上。

    在Master主機上執行如下指令:

cd /usr/local/
tar -zcf ~/spark.master.tar.gz ./spark
cd ~
scp ./spark.master.tar.gz slave01:/home/hadoop
scp ./spark.master.tar.gz slave02:/home/hadoop
           
  1. 在slave01,slave02節點上分别執行下面同樣的操作:
sudo rm -rf /usr/local/spark/
sudo tar -zxf ~/spark.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/spark
           

5 啟動Spark叢集

(1)先啟動Hadoop叢集:

cd /usr/local/hadoop/
sbin/start-all.sh
           

(2)啟動Master節點

在Master節點主機上運作如下指令:

cd /usr/local/spark/
sbin/start-master.sh
           

(3)啟動所有Slave節點

在Master節點主機上運作如下指令:

sbin/start-slaves.sh
           

運作jps指令

Spark分布式環境搭建Spark從菜鳥到入門
Spark分布式環境搭建Spark從菜鳥到入門
Spark分布式環境搭建Spark從菜鳥到入門

至此,spark分布式叢集搭建完畢。

如果您覺得有幫助,請點贊哦!

參考連結:林子雨編著-大資料軟體安裝和程式設計實踐指南

上一篇: OpenStack HA

繼續閱讀