作者:周志湖
網名:搖擺少年夢
微信号: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,可以分别安裝,也可以安裝完一台後克隆兩台,具體過程略。初學者,建議三台分别安裝。安裝後如下圖所示:

(1)修改centos_salve01虛拟機主機名:
/etc/sysconfig/network修改後的内容如下:
(2)<code>vim /etc/sysconfig/network</code>指令修改centos_slave02虛拟機主機名
(3)<code>vim /etc/sysconfig/network</code>指令修改centos_slave03虛拟機主機名
在大家在配置時,修改/etc/sysconfig/network-scripts/ifcfg-eth0檔案對應的bootprot=static、ipaddr、netmask、gateway及dns1資訊即可
(1)修改centos_salve01虛拟機主機ip位址:
修改後内容如下:
(2)修改centos_salve02虛拟機主機ip位址:
(3)修改centos_salve03虛拟機主機ip位址:
/etc/sysconfig/network-scripts/ifcfg-eth0檔案内容解析:
設定完成後,使用
指令重新啟動網絡,配置即可生效。
(1)修改centos_salve01主機名與ip位址映射
設定内容如下:
(2)修改centos_salve02主機名與ip位址映射
具體如下圖:
(3)修改centos_salve03主機名與ip位址映射
采用下列指令設定各主機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目錄下:
設定share檔案夾為虛拟機的共享目錄,如下圖所示:
在linux系統中,采用
指令可以切換到該目錄下,如下圖
spark官方要求的jdk、scala版本
在根目錄下建立sparklearning目前,後續所有相關軟體都放置在該目錄下,代碼如下:
将共享目錄中的jdk安裝包複制到/sparklearning目錄
設定環境變量:
在檔案最後添加:
如下圖:
測試配置是否成功:
将/etc/profile檔案末尾内容修改如下:
測試scala是否安裝成功
修改datadir為:
在檔案末尾添加如下内容:
如圖所示:
建立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修改為:
利用vim core-site.xml指令,檔案内容如下:
vim hdfs-site.xml内容如下:
vim mapred-site.xml修改檔案内容如下:
登入slave02.example.com伺服器,執行下列指令
至此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
但是在啟動過程中出現了錯誤,檢視日志檔案
日志内容中包括下列錯誤:
沒找到具體原因,在ubuntu 10.04伺服器上進行相同的配置,叢集搭建卻成功了(心中一萬頭…..),運作界面如下:
采用下列命上傳spark-1.5.0-bin-hadoop2.4目錄下的readme.md檔案到相應的根目錄。
進入/spark-1.5.0-bin-hadoop2.4/bin目錄,啟動./spark-shell,如下圖所示:
執行redme.md檔案的wordcount操作:
執行結果如下圖:
至此,spark 1.5叢集搭建成功。