Spark1.5.0的安裝和部署

一候生、Spark集群部署

1、軟件版本

OS版本:Ubuntu 14.04

Hadoop版本:Hadoop 2.6.0

JDK版本:Jdk1.8.0_40

Scala版本:scala-2.11.7.tgz

Spark版本:spark-1.5.0-bin-hadoop2.6.tgz

注:Spark程序包版本要根據(jù)下載及安裝的hadoop版本進(jìn)行下載和安裝南蓬,Spark下載官網(wǎng)地址http://spark.apache.org/downloads.html;Scala官網(wǎng)地址http://www.scala-lang.org/哑了,根據(jù)Spark官方規(guī)定的Scala版本進(jìn)行下載和安裝赘方。

2、集群節(jié)點(diǎn)

Spark部署在安裝有hadoop的Ubuntu系統(tǒng)集群中弱左,在Ubuntu14.04中安裝Spark窄陡,需要預(yù)先安裝JDK、Scala等所需依賴拆火。Spark只是計(jì)算框架跳夭,需要預(yù)先在集群中搭建好存儲(chǔ)數(shù)據(jù)的持久化層(HDFS/Hive等),所以也需要預(yù)先安裝Hadoop们镜。

集群:1臺(tái)master币叹、10臺(tái)salve計(jì)算節(jié)點(diǎn),2臺(tái)client憎账。

主機(jī)名(節(jié)點(diǎn))

IP地址

內(nèi)存(GB)

VCPU

(個(gè))硬盤(GB)

節(jié)點(diǎn)運(yùn)行進(jìn)程

Master

192.168.1.60

4

4

100

ResourceManager套硼、NameNode、SecondaryNameNode胞皱、

Master

Node1

192.168.1.61

4

4

100

NodeManager邪意、DataNode、Worker

Node2

192.168.1.62

4

4

100

NodeManager反砌、DataNode雾鬼、Worker

Node3

192.168.1.63

4

4

100

NodeManager、DataNode宴树、Worker

Node4

192.168.1.64

4

4

100

NodeManager策菜、DataNode、Worker

Node5

192.168.1.65

4

4

100

NodeManager、DataNode又憨、Worker

Node6

192.168.1.66

4

4

100

NodeManager翠霍、DataNode、Worker

Node7

192.168.1.67

4

4

100

NodeManager蠢莺、DataNode寒匙、Worker

Node8

192.168.1.68

4

4

100

NodeManager、DataNode躏将、Worker

Node9

192.168.1.69

4

4

100

NodeManager锄弱、DataNode、Worker

Node10

192.168.1.70

4

4

100

NodeManager祸憋、DataNode会宪、Worker

Client

192.168.1.80

4

4

100

Client_b

192.168.1.81

4

4

100

3、安裝JDK

在服務(wù)器上搭建一臺(tái)安裝Ubuntu14.04的虛擬機(jī)蚯窥,安裝完JDK和Scala之后掸鹅,克隆虛擬機(jī)13臺(tái)。

(1)下載JDK

下載jdk1.8.0_40版本沟沙,官網(wǎng)地址:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

(2)下載后解壓河劝,解壓目錄/home/hadoop/jdk1.8.0_40;

# tar–xzvf jdk-8u40-linux-x64.tar

(3)配置環(huán)境變量,root權(quán)限下在/etc/profile文件下增加以下代碼:

(4)使profile文件更新生效

#source/etc/profile

4矛紫、安裝Scala

(1)下載scala-2.11.7.tgz

(2)解壓至目錄/home/hadoop/scala-2.11.7

# tar –xzvf scala-2.11.7.tgz

(3)配置環(huán)境變量赎瞎,root權(quán)限下在/etc/profile文件下增加以下代碼:

(4)使profile文件更新生效

# source/etc/profile

注:安裝完JDK和Scala之后,克隆出另外12臺(tái)虛擬機(jī)颊咬。

5务甥、網(wǎng)絡(luò)配置

服務(wù)器地址:192.168.0.80用戶名:administrator密碼:********

在服務(wù)器上搭建安裝Ubuntu14.04的虛擬機(jī),克隆12臺(tái)喳篇。分別配置13臺(tái)主機(jī)的網(wǎng)絡(luò)地址敞临。

IP地址:192.168.1.X

子網(wǎng)掩碼:255.255.0.0網(wǎng)關(guān):192.168.0.1

DNS:192.168.0.1

注:網(wǎng)絡(luò)配置IPv4選擇->Manual(手動(dòng)),為每臺(tái)主機(jī)配置靜態(tài)IP地址(詳細(xì)IP見2中表格)

6麸澜、修改主機(jī)名hostname

修改每臺(tái)(13臺(tái))主機(jī)的hostname挺尿,分別為master、client炊邦、client_b编矾、node1~node1。

命令:hostname//查看主機(jī)名

sudo vi /etc/hostname//打開hostname文件(root權(quán)限下可修改)

7馁害、配置hosts文件

修改集群中所有節(jié)點(diǎn)的/etc/hosts文件窄俏,該文件是集群中所有節(jié)點(diǎn)的IP和主機(jī)名hostname的對(duì)應(yīng)關(guān)系。

命令:sudo gedit/etc/hosts//打開該文件

添加:192.168.1.60master

192.168.1.61 node1

192.168.1.62 node2

……

192.168.1.70 node10

192.168.1.80 client

192.168.1.81 client_b

注:修改每個(gè)節(jié)點(diǎn)的hosts文件碘菜,且確保每個(gè)節(jié)點(diǎn)的hosts文件相同

8凹蜈、配置SSH免密碼登錄

Spark的Master節(jié)點(diǎn)向Worker節(jié)點(diǎn)發(fā)命令需要通過ssh進(jìn)行發(fā)送,用戶不希望Master每發(fā)送一次命令就輸入一次密碼仰坦,因此需要實(shí)現(xiàn)Master無(wú)密碼登錄到所有Worker履植。這需要在Master上生成一個(gè)密鑰對(duì),包括一個(gè)公鑰和一個(gè)私鑰缎岗,然后將公鑰復(fù)制到Worker上传泊。

當(dāng)Master通過ssh連接Worker時(shí),Worker就會(huì)生成一個(gè)隨機(jī)數(shù)并用Master的公鑰對(duì)隨機(jī)數(shù)進(jìn)行加密溪椎,發(fā)送給Worker校读。Master收到加密數(shù)之后再用私鑰進(jìn)行解密歉秫,并將解密數(shù)回傳給Worker雁芙,Worker確認(rèn)解密數(shù)無(wú)誤之后兔甘,允許Master進(jìn)行連接洞焙。這就是一個(gè)公鑰認(rèn)證過程,其間不需要用戶手工輸入密碼仙蛉,主要過程是將Master節(jié)點(diǎn)公鑰復(fù)制到Worker節(jié)點(diǎn)上荠瘪。

(1)在Master節(jié)點(diǎn)上趁餐,生產(chǎn)密鑰:

# ssh-keygen -tdsa -P '' -f ~/.ssh/id_dsa

此時(shí)吠各,在~/.ssh/目錄下生成id_dsa.pub文件贾漏,查看命令:

# ls –a~/.ssh

(2)復(fù)制Master的id_dsa.pub文件到其他slave節(jié)點(diǎn)、client、client_b

將master結(jié)點(diǎn)上的~/.ssh/id_dsa.pub的內(nèi)容濒蒋,添加到slave結(jié)點(diǎn)的~/.ssh/authorized_keys這個(gè)文件中啊胶。命令如下:

scp~/.ssh/id_dsa.pub hadoop@node1:~/.ssh/authorized_keys//添加到node1節(jié)點(diǎn)

scp~/.ssh/id_dsa.pub hadoop@node2:~/.ssh/authorized_keys//添加到node2節(jié)點(diǎn)

……

scp~/.ssh/id_dsa.pub hadoop@node10:~/.ssh/authorized_keys//添加到node10節(jié)點(diǎn)

scp~/.ssh/id_dsa.pub hadoop@client:~/.ssh/authorized_keys//添加到client節(jié)點(diǎn)

scp~/.ssh/id_dsa.pub hadoop@client_b:~/.ssh/authorized_keys//添加到client_b節(jié)點(diǎn)

(3)驗(yàn)證是否可以無(wú)密碼登陸

在master結(jié)點(diǎn)上使用ssh連接其他slave結(jié)點(diǎn),命令如下:

# ssh node1

……

# ssh node10

# ssh client

# ssh client_b

9、Hadoop安裝與配置

(1)解壓安裝hadoop-2.6.0

將下載后的hadoop-2.6.0.tar.gz(官網(wǎng)地址http://hadoop.apache.org/)解壓到master節(jié)點(diǎn)的/home/hadoop目錄下善绎,配置好master節(jié)點(diǎn)的hadoop后復(fù)制到其他節(jié)點(diǎn)即可。

解壓命令如下:

# tar xzfvhadoop-2.6.0.tar.gz

復(fù)制命令如下:

scp –r /home/hadoop/hadoop-2.6.0 hadoop@node1:/home/hadoop///復(fù)制到node1

scp -r /home/hadoop/hadoop-2.6.0 hadoop@node2:/home/hadoop///復(fù)制到node2

……

scp -r /home/hadoop/hadoop-2.6.0 hadoop@node10:/home/hadoop///復(fù)制到node10

scp -r /home/hadoop/hadoop-2.6.0 hadoop@client:/home/hadoop///復(fù)制到client

scp -r /home/hadoop/hadoop-2.6.0 hadoop@client_b:/home/hadoop///復(fù)制到client_b

注:配置完之后再執(zhí)行復(fù)制命令减途,且集群中所有的hadoop都安裝在同一目錄下。

(2)配置Hadoop環(huán)境變量

在/etc/profile文件中,添加以下代碼:

使profile文件更新生效:# source /etc/profile

(3)編輯Hadoop配置文件

hadoop配置文件都在hadoop-2.6.0/etc目錄下,配置時(shí)需要修改7個(gè)配置文件羽杰,包括hadoop-env.sh颜骤、core-site.xml鸠项、hdfs-site.xml牧抽、yarn-site.xml扬舒、mapred-site.xml诊赊、masters和slaves文件鲸郊。

①修改hadoop-env.sh

export JAVA_HOME=/home/hadoop/jdk1.8.0_40

②修改core-site.xml

注:修改屬性,以name和value的關(guān)系對(duì)出現(xiàn)。

③修改hdfs-site.xml

注:在hadoop-2.6.0目錄下觉吭,默認(rèn)不存在dfs/name及dfs/data文件夾榜聂,需要新建。

命令如下:

cd/home/hadoop/hadoop-2.6.0/

mkdir dfs

cd dfs/

mkdir name

mkdir data

④修改yarn-site.xml

⑤修改mapred-site.xml

⑥配置masters文件

⑦配置slaves文件

注:slaves文件僅包括集群中作為計(jì)算節(jié)點(diǎn)的主機(jī)名(這里不包括client和client_b)。

配置完hadoop后,將hadoop2.6.0的所有文件通過scp命令復(fù)制到其他節(jié)點(diǎn)。

(4)啟動(dòng)和關(guān)閉hadoop

?格式化hdfs文件系統(tǒng)的namenode

# cd hadoop-2.6.0///進(jìn)入hadoop-2.6.0目錄

# bin/hdfs namenode -format//格式化

②啟動(dòng)hadoop集群

# sbin/start-dfs.sh//啟動(dòng)hdfs(一次性啟動(dòng)namenode和所有datanode)

# sbin/start-yarn.sh//啟動(dòng)yarn(一次性啟動(dòng)RM和所有NM)

通過jps命令查看是否啟動(dòng)成功葱淳。

③關(guān)閉hadoop集群

#sbin/stop-all.sh

10、安裝spark

(1)下載spark-1.5.0-bin-hadoop2.6.tgz

官網(wǎng)地址http://spark.apache.org/downloads.html

(2)解壓至目錄/home/hadoop/spark-1.5.0-bin-hadoop2.6

# tar–xzvf spark-1.5.0-bin-hadoop2.6.tgz

(3)配置conf/spark-env.sh文件

參數(shù)SPARK_WORKER_MEMORY表示在每一個(gè)Worker節(jié)點(diǎn)上可用的最大內(nèi)存(總內(nèi)存4g,增加這個(gè)數(shù)值可以在內(nèi)存中緩存更多數(shù)據(jù),但是要給Slave的OS和其他服務(wù)預(yù)留出足夠的內(nèi)存抄肖,故這里設(shè)置為3g)

注:其他更復(fù)雜的配置參考官網(wǎng)的配置頁(yè)面,地址為http://spark.apache.org/docs/latest/configuration.html

(4)配置slaves文件

進(jìn)入spark安裝目錄,編輯/conf/slaves文件

注:將配置好后的spark所有文件,通過scp命令復(fù)制到其他節(jié)點(diǎn)相同目錄下掏湾。

# scp –r /home/hadoop/spark-1.5.0-bin-hadoop2.6 hadoop@node*:/home/hadoop

11筑公、啟動(dòng)集群

(1)啟動(dòng)hadoop

進(jìn)入hadoop2.6.0安裝目錄工育,執(zhí)行#sbin/start-all.sh

(2)啟動(dòng)spark

進(jìn)入spark安裝目錄,執(zhí)行#

sbin/start-all.sh(或者執(zhí)行#sbin/start-master.sh艰赞、# sbin)

(3)檢測(cè)是否安裝成功

通過jps命令杯瞻,查看啟動(dòng)的進(jìn)程逆皮。master節(jié)點(diǎn)啟動(dòng)的進(jìn)程有:NameNode晒来、SecondaryNameNode攒读、ResourceManager、Master乙各;slaves節(jié)點(diǎn)啟動(dòng)的進(jìn)程有:DataNode、NodeManager、Worker。

至此,spark集群安裝完成。

二、Spark示例程序測(cè)試

部署完Spark集群之后,以Spark項(xiàng)目中自帶的SparkPi(計(jì)算)程序?yàn)槔瑴y(cè)試Spark集群的性能。

(1)啟動(dòng)hadoop捉片、啟動(dòng)spark昂芜,進(jìn)入Spark安裝目錄,執(zhí)行:

# bin/run-example org.apache.spark.examples.SparkPi

(2)通過Web UI查看集群狀態(tài)

瀏覽器訪問http://masterIP:8080算行,觀察Spark集群的整個(gè)狀態(tài)是否正常,如下圖所示苫耸。masterIP配置為用戶的Spark集群的主節(jié)點(diǎn)IP州邢,這里為http://192.168.1.60:8080

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末褪子,一起剝皮案震驚了整個(gè)濱河市量淌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嫌褪,老刑警劉巖呀枢,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異笼痛,居然都是意外死亡裙秋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門缨伊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)摘刑,“玉大人,你說(shuō)我怎么就攤上這事刻坊〖纤。” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵紧唱,是天一觀的道長(zhǎng)活尊。 經(jīng)常有香客問我,道長(zhǎng)漏益,這世上最難降的妖魔是什么蛹锰? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮绰疤,結(jié)果婚禮上铜犬,老公的妹妹穿的比我還像新娘。我一直安慰自己轻庆,他們只是感情好癣猾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著余爆,像睡著了一般纷宇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛾方,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天像捶,我揣著相機(jī)與錄音上陕,去河邊找鬼。 笑死拓春,一個(gè)胖子當(dāng)著我的面吹牛释簿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播硼莽,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼庶溶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了懂鸵?” 一聲冷哼從身側(cè)響起偏螺,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矾瑰,沒想到半個(gè)月后砖茸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殴穴,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年凉夯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片采幌。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡劲够,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出休傍,到底是詐尸還是另有隱情征绎,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布磨取,位于F島的核電站人柿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏忙厌。R本人自食惡果不足惜凫岖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逢净。 院中可真熱鬧哥放,春花似錦、人聲如沸爹土。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)胀茵。三九已至社露,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間琼娘,已是汗流浹背峭弟。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工赁濒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孟害。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挪拟,于是被迫代替她去往敵國(guó)和親挨务。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容