數據開發系列篇(3):spark實戰高手之路(一):如何搭建spark集群

————————————轉載請註明原文鏈接————————————————

##知乎專欄:數據分析俠數據分析俠 - 知乎專欄

##微信公眾號:數據分析聯盟(datafa)

需要數據分析資料的請加最下面的支付寶!

內推簡歷請按照要求數據招聘系列篇(3):阿里巴巴20160426招聘 - 數據分析俠 - 知乎專欄

另外掃一掃關注微信公眾號(微信公眾號datafa)

##時間:2016-4-28

今天淘寶的一堆懷舊零食又到了,開心!懷舊零食_淘寶搜索

有木有看到一些曾經的回憶!(00後的就算了)

回憶總是美好的,有些記憶是值得記住的。

然後就是又忙了一天的會,也只有晚上也能有點時間靜靜的寫些東西。似乎每次的開會都變成的沒完沒了的討論,也沒有個會議主持在,這也是一大不幸。

從零起步,構建Spark集群經典四部曲:

  • 第一步:搭建Hadoop單機和偽分散式環境;

  • 第二步:構造分散式Hadoop集群;

  • 第三步:構造分散式的Spark集群;

  • 第四步:測試Spark集群;

本文內容為構建Spark集群經典四部曲,從零起步構建Hadoop單機版本和偽分散式的開發環境,涉及:

  • 開發Hadoop需要的基本軟體;

  • 安裝每個軟體;

  • 配置Hadoop單機模式並運行Wordcount示例;

  • 配置Hadoop偽分散式模式並運行Wordcount示例;


    第一步:開發Hadoop需要的基本軟體

  • 我們的開發環境是在Windows 7上面構建Hadoop,此時需要Vmware虛擬機、Ubuntu的ISO鏡像文件,Java SDK的支持、Eclipse IDE平台、Hadoop安裝包等;

    1、Vmware虛擬機,這裡使用的是VMware Workstation 9.0.2 for Windows, 具體的下載地址是my.vmware.com/cn/web/vm 如下圖所示:

可以看出裡面多了一個keys.txt文件,這個是安裝Vwware時需要的序列碼,讀者需要從網路上下載;

2、Ubuntu的ISO鏡像文件,家林這裡使用的ubuntu-12.10-desktop-i386,具體下載地址為:其他選擇方案 如下圖所示:

3、Java SDK的支持,使用的是最新的「jdk-7u60-linux-i586.tar.gz」,具體的下載地址Java SE Development Kit 7 如下圖所示:

4、下載最新穩定版本的Hadoop,下載的是「hadoop-1.1.2-bin.tar.gz 」,具體官方下載地址為mirrors.cnnic.cn/apache 下載後在本地的保存為:

  1. 在VMWare 中準備第二、第三台運行Ubuntu系統的機器;

在VMWare中構建第二、三台運行Ubuntu的機器和構建第一台機器完全一樣,再次不在贅述。。

與安裝第一台Ubuntu機器不同的幾點是:

第一點:我們把第二、三台Ubuntu機器命名為了Slave1、Slave2,如下圖所示:

創建完的VMware中就有三台虛擬機了:

第二點:為了簡化Hadoop的配置,保持最小化的Hadoop集群,在構建第二、三台機器的時候使用相同的root超級用戶的方式登錄系統。

2.按照配置偽分散式模式的方式配置新創建運行Ubuntu系統的機器;

按照配置偽分散式模式的方式配置新創建運行Ubuntu系統的機器和配置第一台機器完全相同,

下圖是家林完全安裝好後的截圖:

3. 配置Hadoop分散式集群環境

根據前面的配置,我們現在已經有三台運行在VMware中裝有Ubuntu系統的機器,分別是:Master、Slave1、Slave2;

下面開始配置Hadoop分散式集群環境:

Step 1:在/etc/hostname中修改主機名並在/etc/hosts中配置主機名和IP地址的對應關係:

我們把Master這台機器作為Hadoop的主節點,首先看一下Master這台機器的IP地址:

此時Master通過SSH登錄Slave1和Slave2已經不需要密碼,同樣的Slave1或者Slave2通過SSH協議登錄另外兩台機器也不需要密碼了。

Step 3:修改Master、Slave1、Slave2的配置文件

發現拷貝完全正確。

至此Hadoop的集群環境終於配置完成!

4.測試Hadoop分散式集群環境;

首先在通過Master節點格式化集群的文件系統

第一步:Spark集群需要的軟體;

在1、2講的從零起步構建好的Hadoop集群的基礎上構建Spark集群,我們這裡採用2014年5月30日發布的Spark 1.0.0版本,也就是Spark的最新版本,要想基於Spark 1.0.0構建Spark集群,需要的軟體如下:

1.Spark 1.0.0,筆者這裡使用的是spark-1.0.0-bin-hadoop1.tgz, 具體的下載地址是d3kbcqa49mib13.cloudfront.net

如下圖所示:

2.下載和Spark 1.0.0對應的Scala版本,官方要求的是Scala必須為Scala 2.10.x:

筆者下載的是「Scala 2.10.4」,具體官方下載地址為Scala 2.10.4 下載後在Master節點上保存為:

第二步:安裝每個軟體

安裝Spark

Master、Slave1、Slave2這三台機器上均需要安裝Spark。

首先在Master上安裝Spark,具體步驟如下:

第一步:把Master上的Spark解壓:

第三步:配置Spark

第一步:通過Spark的shell測試Spark的工作

Step1:啟動Spark集群,這一點在第三講講的極為細緻,啟動後的WebUI如下:

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

my.oschina.net/u/179105

具體的安裝步驟自己有空看看,就不多BB了。

如果覺得有價值,請大家支持!打賞點贊(據說可以加芝麻分喲:D)!


推薦閱讀:

Facebook存儲進階路:NoSQL Pattern的入門介紹
Redis 應該如何節約使用內存?有什麼好的設計策略和好的方法?
NoSQL如何快速入門?
矽谷之路5:NoSQL就是把東西放在一起
時間序列數據的存儲和計算 - 開源時序資料庫解析(一)

TAG:Spark | 大数据 | NoSQL |