CentOS下Hadoop+Spark集群搭建

CentOS下Hadoop+Spark集群環(huán)境搭建

硬件環(huán)境

虛擬機*3

每臺虛擬機配置:系統(tǒng)CentOS6.5 64位掺逼,內(nèi)存1g何缓,硬盤20g。

網(wǎng)絡(luò)地址:

  • master:172.27.35.10
  • slave1:172.27.35.11
  • slave2:172.27.35.12

軟件環(huán)境

  • java版本:1.8.0_151
  • hadoop版本:2.7.6
  • spark版本:2.3.0
  • scala版本:2.11.12

xshell安裝

下載安裝xshell焕窝,使用SSH遠(yuǎn)程登錄虛擬機棒呛。

java安裝

1、登錄master主機

使用xshell遠(yuǎn)程登錄master主機告唆,登錄成功后如下圖所示:

2棺弊、檢查虛擬機網(wǎng)絡(luò)連接是否正常

可以使用ping命令來檢查網(wǎng)絡(luò)問題:

ping www.baidu.com

如果ping成功,則網(wǎng)絡(luò)沒有問題悔详。

如果ping沒有成功镊屎,則輸入ifconfig,查看網(wǎng)絡(luò)設(shè)置茄螃。如果顯示如下圖:

則說明網(wǎng)卡沒有設(shè)置啟動好缝驳,需設(shè)置網(wǎng)卡并啟動。

修改網(wǎng)卡設(shè)置:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改后如圖所示:

如上圖配置將master主機IP地址設(shè)置為靜態(tài)地址172.27.35.10,其余主機可以參照上述操作將IP地址設(shè)置為相應(yīng)靜態(tài)地址用狱。

然后配置DNS:

vim /etc/resolv.conf

配置后如圖所示:

注意:虛擬機中設(shè)置靜態(tài)IP地址時运怖,網(wǎng)關(guān)、子網(wǎng)掩碼要和宿主機一樣夏伊,IP地址也要和宿主機在同一個網(wǎng)段摇展,否則連不上網(wǎng),橋接模式要記得選擇網(wǎng)卡溺忧。

配置完成后輸入service network restart重啟網(wǎng)卡咏连,便可成功連接網(wǎng)絡(luò)。如果使用的是虛擬機鲁森,并且子節(jié)點是從其他機器克隆的話祟滴,注意修改ifcfg-eht0中的HWADDR硬件地址,并且刪除/etc/udev/rules.d/70-persistent-net.rules歌溉,這個文件確定了網(wǎng)卡和MAC地址的信息之間的綁定垄懂,所以克隆后需刪除,待機器重啟后重新生成痛垛。

3草慧、更新軟件包

在終端程序輸入以下命令來更新軟件包:

yum upgrade

4、安裝java

oracle官網(wǎng)下載對應(yīng)的jdk匙头,拷貝到master主節(jié)點上漫谷,這里用的版本為jdk-8u151-linux-x64.tar.gz。

輸入解壓縮命令:

tar -zxvf jdk-8u151-linux-x64.tar.gz

將解壓后文件夾重命名移動到/usr/local/java中(這里軟件包都一律安裝到/usr/local文件夾中):

 mv jdk1.8.0_151/ /usr/local/java

5乾胶、配置系統(tǒng)變量

輸入命令修改系統(tǒng)配置文件:

vim /etc/profile

在文件末尾輸入:

export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib

之后保存退出抖剿,輸入source /etc/profile使配置文件生效朽寞。

6识窿、查看java版本

java -version

結(jié)果如圖所示:

如上,java環(huán)境安裝配置成功脑融。

7喻频、發(fā)送jdk到從節(jié)點上

(1) 修改主節(jié)點、從節(jié)點hosts文件肘迎,修改后hosts文件如下圖所示:

(2) 配置各個節(jié)點ssh免密登陸

在master主節(jié)點上輸入命令ssh-keygen -t rsa生成公鑰甥温,結(jié)果如圖所示:

然后輸入命令將公鑰發(fā)送到各個子節(jié)點上:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1

結(jié)果如圖所示:

上圖所示只是將公鑰從master主節(jié)點發(fā)送到slave1從節(jié)點的authorized_keys列表,發(fā)送到其他從節(jié)點只需改變主機名就可以了妓布。

輸入ssh slave1驗證是否主節(jié)點到從節(jié)點免密登陸姻蚓,結(jié)果如圖所示:

說明主節(jié)點到slave1從節(jié)點免密登陸配置成功。

注意:除了配置主節(jié)點到各個子節(jié)點間免密登陸匣沼,我們最好也配置各個子節(jié)點到主節(jié)點間以及各個子節(jié)點間免密登陸狰挡,在需要配置到其他節(jié)點間免密登陸的主機上按照如上方法操作即可。

(3) 發(fā)送jdk到從節(jié)點

輸入命令scp -r /usr/local/java/ root@slave1:/usr/local/java/,將jdk發(fā)送到slave1從節(jié)點上加叁,如下圖所示:

發(fā)送到其他子節(jié)點只需修改目標(biāo)主機名即可倦沧。

(4) 配置各個從節(jié)點系統(tǒng)變量

參照第5步所示方法。最后輸入java -version驗證配置是否成功它匕。

Hadoop安裝

1展融、安裝Hadoop

Hadoop官網(wǎng)下載Hadoop安裝包,拷貝到主節(jié)點上豫柬,這里用的版本為hadoop-2.7.6.tar.gz告希。

輸入解壓縮命令:

tar -zxvf hadoop-2.7.6.tar.gz

將解壓后文件夾重命名移動到/usr/local/hadoop中:

mv hadoop-2.7.6 /usr/local/hadooop

2、配置系統(tǒng)環(huán)境變量

輸入命令vim /etc/profile烧给,在文件末尾輸入如下內(nèi)容:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

之后保存退出暂雹,輸入source /etc/profile使配置文件生效。

3创夜、hadoop相關(guān)文件配置

hadoop配置文件所在目錄為$HADOOP_HOME/etc/hadoop杭跪,此處HADOOP_HOME為hadoop安裝目錄,進(jìn)入hadoop配置文件所在目錄驰吓,修改相應(yīng)配置文件涧尿。

(1)hadoop-env.sh文件配置

修改JAVA_HOME為當(dāng)前jdk安裝目錄:

export JAVA_HOME=/usr/local/java

(2)core-site.xml文件配置如下

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>

(3)hdfs-site.xml文件配置如下

<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/hdfs/namenode</value>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>

(4)slaves文件配置如下

slave1
slave2

因為我們沒有用到hadoop的yarn與mapreduce,所以hadoop相關(guān)配置到此結(jié)束檬贰。

4姑廉、發(fā)送hadoop安裝包到各個從節(jié)點

輸入命令scp -r /usr/local/hadoop/ root@slave1:/usr/local/hadoop,將hadoop安裝包發(fā)送到slave1節(jié)點翁涤,發(fā)送的其他節(jié)點只需修改相應(yīng)主機名即可桥言。

然后修改對應(yīng)從節(jié)點系統(tǒng)變量,方法參照第2步葵礼。

5号阿、格式化namenode

在master主節(jié)點輸入命令hadoop namenode -format格式化namenode,如下圖所示:

6鸳粉、啟動hdfs

在master主節(jié)點輸入命令start-dfs.sh,啟動hdfs扔涧,如下圖所示:

7、檢查hdfs是否啟動成功

在主節(jié)點輸入jps,查看已啟動的java進(jìn)程届谈,如下圖所示枯夜,顯示namenode、sercondaryNamenode啟動成功:

分別進(jìn)入各個從節(jié)點艰山,查看datanode是否啟動成功湖雹,如下圖所示,則datanode啟動成功:

8曙搬、hdfs管理界面進(jìn)入

在地址欄輸入http://172.27.35.10:50070摔吏,此處172.27.35.10為namenode主機ip汤踏,嘗試進(jìn)入hdfs管理界面,如果無法進(jìn)入舔腾,一般是防火墻的問題溪胶,可以輸入命令service iptables stop關(guān)閉防火墻,也可以進(jìn)一步輸入命令chkconfig iptables off關(guān)閉防火墻開機自啟動稳诚,為了集群的順利運行哗脖,可以把集群中的機器防火墻都關(guān)閉掉。成功進(jìn)入hdfs管理界面如下圖所示:

scala安裝

1扳还、安裝scala

在安裝Spark之前才避,我們需要先安裝scala,到scala官網(wǎng)下載scala氨距,拷貝到主節(jié)點中桑逝,此處安裝版本為scala-2.11.12.tgz。

輸入解壓縮命令:

tar -zxvf scala-2.11.12.tgz

將解壓后文件夾重命名移動到/usr/local/scala中:

mv scala-2.11.12 /usr/local/scala

2俏让、配置系統(tǒng)環(huán)境變量

輸入命令vim /etc/profile楞遏,在文件末尾添加如下內(nèi)容:

export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$SCALA_HOME/bin

之后保存退出,輸入source /etc/profile使配置文件生效首昔。輸入scala -version驗證安裝是否成功寡喝,如下圖所示:

3、發(fā)送scala到從節(jié)點

輸入命令scp -r /usr/local/scala/ root@slave1:/usr/local/scala勒奇,將scala發(fā)送到slave1節(jié)點预鬓,發(fā)送到其他節(jié)點只需修改相應(yīng)主機名即可。同時修改系統(tǒng)環(huán)境變量赊颠,參照第2步格二。

Spark安裝

1、安裝Spark

Spark官網(wǎng)下載Spark竣蹦,拷貝到主節(jié)點中顶猜,此處安裝版本為spark-2.3.0-bin-hadoop2.7.tgz。解壓縮并將解壓后文件夾重命名移動到/usr/local/spark中草添。

tar -zxvf spark-2.3.0-bin-hadoop2.7.tgz
mv spark-2.3.0-bin-hadoop2.7 /usr/local/spark

2驶兜、配置系統(tǒng)環(huán)境變量

輸入命令vim /etc/profile扼仲,在文件末尾添加如下內(nèi)容:

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

3远寸、spark相關(guān)文件配置

spark相關(guān)配置文件都在$SPARK_HOME/conf文件夾目錄下,此處SPARK_HOME為Spark安裝目錄屠凶,進(jìn)入Spark配置文件所在目錄驰后,修改相應(yīng)配置文件。

(1)spark-env.sh文件配置

拷貝spark-env.sh.template到spark-env.sh矗愧,命令如下:

cp spark-env.sh.template spark-env.sh

spark-env.sh文件配置如下:

export JAVA_HOME=/usr/local/java
export SPARK_MASTER_IP=master
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_INSTANCES=2
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://master:9000/historyServerForSpark/logs"
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=FILESYSTEM -Dspark.deploy.recoveryDirectory=/usr/local/spark/recovery"

注意:此處歷史服務(wù)器日志存放地址為hdfs://master:9000/historyServerForSpark/logs灶芝,在啟動歷史服務(wù)器前一定要確保該文件夾存在郑原,
可以輸入hadoop fs -mkdir -p /historyServerForSpark/logs來創(chuàng)建該文件夾。

(2)slaves文件配置如下

拷貝slaves.template到slaves夜涕,命令如下:

cp slaves.template slaves

slaves文件配置如下:

slave1
slave2

(3)spark-defaults.conf文件配置

拷貝spark-defaults.con.template到spark-defaults.conf犯犁,命令如下

cp spark-defaults.conf.template spark-defaults.conf

spark-defaults.conf文件配置如下:

spark.eventLog.enabled=true
spark.eventLog.dir=hdfs://master:9000/historyServerForSpark/logs
spark.eventLog.compress=true

此處主要是歷史服務(wù)器相關(guān)配置。

4女器、發(fā)送spark安裝包到各個從節(jié)點

輸入命令scp -r /usr/local/spark/ root@slave1:/usr/local/spark酸役,將spark發(fā)送到slave節(jié)點,發(fā)送到其他節(jié)點只需修改對應(yīng)主機名就行驾胆。同時修改系統(tǒng)環(huán)境變量涣澡,參照第2步。

5丧诺、啟動spark集群

進(jìn)入SPARK_HOME/sbin目錄入桂,輸入命令./start-all.sh,結(jié)果如下圖所示:

6驳阎、啟動歷史服務(wù)器

首先確保歷史服務(wù)器日志存放文件夾已創(chuàng)建抗愁,然后進(jìn)入SPARK_HOME/sbin目錄,輸入命令./start-history-server.sh呵晚,結(jié)果如下圖所示:

7驹愚、檢查spark集群、歷史服務(wù)器是否啟動成功

在主節(jié)點輸入jps,查看已啟動的java進(jìn)程劣纲,如下圖所示逢捺,顯示master、historyserver啟動成功:

分別進(jìn)入各個子節(jié)點癞季,查看worker是否啟動成功劫瞳,如下圖所示,則worker啟動成功:

8绷柒、進(jìn)入集群管理志于、歷史服務(wù)器管理頁面

在瀏覽器地址欄輸入地址http://172.27.35.10:8080,此處172.27.35.10為master ip地址废睦,進(jìn)入集群管理界面伺绽,成功進(jìn)入如下圖所示:

在瀏覽器地址欄輸入地址http://172.27.35.10:18080,進(jìn)入歷史服務(wù)器管理界面嗜湃,成功進(jìn)入如下圖所示:

因為我們還沒有跑過程序奈应,所以歷史服務(wù)器里記錄為空。

9购披、集群測試

下面我們嘗試在spark集群中跑個簡單的測試程序杖挣,進(jìn)入目錄$SPARK_HOME/bin,此處SPARK_HOME為spark安裝目錄刚陡,輸入如下命令:

./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://master:6066 \
  --deploy-mode cluster \
  --supervise \
  --executor-memory 1G \
  --total-executor-cores 2 \
  ../examples/jars/spark-examples_2.11-2.3.0.jar \
  1000

如下圖所示:

然后進(jìn)入集群管理界面查看應(yīng)用運行情況惩妇,如下圖所示:

上圖顯示應(yīng)用程序正在運行株汉。

當(dāng)應(yīng)用程序運行結(jié)束后,進(jìn)入歷史服務(wù)器管理界面歌殃,如下圖所示:

點擊相應(yīng)應(yīng)用程序乔妈,可查看應(yīng)用程序具體運行情況,如下圖所示:

結(jié)語

到此CentOS下Hadoop+Spark集群搭建已經(jīng)成功完成啦氓皱,讓我們開啟愉快的大數(shù)據(jù)之旅吧褒翰!

寫在最后

聊技術(shù),不止于技術(shù)匀泊。

歡迎大家關(guān)注我的個人公眾號:WU雙优训,在這里我會與大家分享技術(shù)文章、管理知識以及個人的一些思想感悟各聘。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末揣非,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子躲因,更是在濱河造成了極大的恐慌早敬,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件大脉,死亡現(xiàn)場離奇詭異搞监,居然都是意外死亡,警方通過查閱死者的電腦和手機镰矿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門琐驴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秤标,你說我怎么就攤上這事绝淡。” “怎么了苍姜?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵牢酵,是天一觀的道長。 經(jīng)常有香客問我衙猪,道長馍乙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任垫释,我火速辦了婚禮丝格,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘饶号。我一直安慰自己铁追,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布茫船。 她就那樣靜靜地躺著琅束,像睡著了一般。 火紅的嫁衣襯著肌膚如雪算谈。 梳的紋絲不亂的頭發(fā)上涩禀,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音然眼,去河邊找鬼艾船。 笑死,一個胖子當(dāng)著我的面吹牛高每,可吹牛的內(nèi)容都是我干的屿岂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鲸匿,長吁一口氣:“原來是場噩夢啊……” “哼爷怀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起带欢,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤运授,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后乔煞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吁朦,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年渡贾,在試婚紗的時候發(fā)現(xiàn)自己被綠了逗宜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡空骚,死狀恐怖锦溪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情府怯,我是刑警寧澤刻诊,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站牺丙,受9級特大地震影響则涯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冲簿,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一粟判、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧峦剔,春花似錦档礁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽递礼。三九已至,卻和暖如春羹幸,著一層夾襖步出監(jiān)牢的瞬間脊髓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工栅受, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留将硝,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓屏镊,卻偏偏與公主長得像依疼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子而芥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

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