天天看點

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

作者:周志湖

網名:搖擺少年夢

微信号:zhouzhihubeyond

作業系統環境準備

hadoop 2.4.1叢集搭建

spark 1.5.0 叢集部署

注:在利用centos 6.5作業系統安裝spark 1.5叢集過程中,本人發現hadoop 2.4.1叢集可以順利搭建,但在spark 1.5.0叢集啟動時出現了問題(可能原因是64位作業系統原因,源碼需要重新編譯,但本人沒經過測試),經本人測試在ubuntu 10.04 作業系統上可以順利成功搭建。大家可以利用centos 6.5進行嘗試,如果有問題,再利用ubuntu 10.04搭建,所有步驟基本一緻

ubuntu 10.04作業系統下載下傳位址:

centos 6.5下載下傳位址:

本實驗要求裝三台:centos 6.5,可以分别安裝,也可以安裝完一台後克隆兩台,具體過程略。初學者,建議三台分别安裝。安裝後如下圖所示:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建
Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

(1)修改centos_salve01虛拟機主機名:

/etc/sysconfig/network修改後的内容如下:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

(2)<code>vim /etc/sysconfig/network</code>指令修改centos_slave02虛拟機主機名

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

(3)<code>vim /etc/sysconfig/network</code>指令修改centos_slave03虛拟機主機名

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

在大家在配置時,修改/etc/sysconfig/network-scripts/ifcfg-eth0檔案對應的bootprot=static、ipaddr、netmask、gateway及dns1資訊即可

(1)修改centos_salve01虛拟機主機ip位址:

修改後内容如下:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

(2)修改centos_salve02虛拟機主機ip位址:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

(3)修改centos_salve03虛拟機主機ip位址:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

/etc/sysconfig/network-scripts/ifcfg-eth0檔案内容解析:

設定完成後,使用

指令重新啟動網絡,配置即可生效。

(1)修改centos_salve01主機名與ip位址映射

設定内容如下:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

(2)修改centos_salve02主機名與ip位址映射

具體如下圖:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

(3)修改centos_salve03主機名與ip位址映射

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

采用下列指令設定各主機dns(三台機器進行相同的設定)

設定後的内容:

8.8.8.8為google提供的dns伺服器

前面所有的配置完成後,重新開機centos_salve01、centos_salve02、centos_salve03使主機名設定生效,然後分别在三台機器上作如下測試指令:

下面隻給出在centos_salve01虛拟機上的測試

測試外網的連通性(我在裝的時候,8.8.8.8,已經被禁用….心中一萬頭cnm):

#### (1) openssh安裝

如果大家在配置時,ping 8.8.8.8能夠ping通,則主機能夠正常上網;如果不能上網,則将網絡連接配接方式重新設定為nat,并修改網絡配置檔案為dhcp方式。在保證網絡連通的情況下執行下列指令:

#### (2) 無密碼登入實作

使用以下指令生成相應的密鑰(三台機器進行相同的操作)

執行過程一直回車即可

生成的檔案分别為/root/.ssh/id_rsa(私鑰)、/root/.ssh/id_rsa.pub(公鑰)

完成後将公鑰拷貝到要免登陸的機器上(三台可進行相同操作):

叢集搭建相關軟體下載下傳位址:

下載下傳後将所有軟體都放置在e盤的share目錄下:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

設定share檔案夾為虛拟機的共享目錄,如下圖所示:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

在linux系統中,采用

指令可以切換到該目錄下,如下圖

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

spark官方要求的jdk、scala版本

在根目錄下建立sparklearning目前,後續所有相關軟體都放置在該目錄下,代碼如下:

将共享目錄中的jdk安裝包複制到/sparklearning目錄

設定環境變量:

在檔案最後添加:

如下圖:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

測試配置是否成功:

将/etc/profile檔案末尾内容修改如下:

測試scala是否安裝成功

修改datadir為:

在檔案末尾添加如下内容:

如圖所示:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建
Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

建立zookeeper叢集資料儲存目錄

将slave01.example.com(centos_slave01)上的sparklearning目錄拷貝到另外兩台伺服器上:

/etc/profile檔案也進行覆寫

修改zookeeper_data中的myid資訊:

如此便完成配置,下面對叢集進行測試:

使用指令:<code>vim /etc/profile</code> 将環境變量資訊修改如下:

使用指令:<code>vim hadoop-env.sh</code> 将環境變量資訊修改如下,在export java_home修改為:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

利用vim core-site.xml指令,檔案内容如下:

vim hdfs-site.xml内容如下:

vim mapred-site.xml修改檔案内容如下:

登入slave02.example.com伺服器,執行下列指令

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建
Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

至此hadoop叢集配置成功

将/etc/profile内容修改如下:

在spark-env.sh檔案中添加如下内容:

slaves檔案内容如下:

因為本人機器上裝了ambari server,占用了8080端口,而spark master預設端是8080,是以将sbin/start-master.sh中的spark_master_webui_port修改為8888

浏覽器中輸入slave01.example.com:8888

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

但是在啟動過程中出現了錯誤,檢視日志檔案

日志内容中包括下列錯誤:

沒找到具體原因,在ubuntu 10.04伺服器上進行相同的配置,叢集搭建卻成功了(心中一萬頭…..),運作界面如下:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

采用下列命上傳spark-1.5.0-bin-hadoop2.4目錄下的readme.md檔案到相應的根目錄。

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

進入/spark-1.5.0-bin-hadoop2.4/bin目錄,啟動./spark-shell,如下圖所示:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

執行redme.md檔案的wordcount操作:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

執行結果如下圖:

Spark修煉之道(進階篇)——Spark入門到精通:第一節 Spark 1.5.0叢集搭建

至此,spark 1.5叢集搭建成功。

繼續閱讀