centos 7Hadoop2.7.3+Spark2.1.0 完全分布式環境 搭建全過程

Hadoop2.7.3+Spark2.1.0 完全分布式環境 搭建全過程


www.cnblogs.com/purstar/p/6293605.html

一、修改hosts文件

在主節點,就是第一臺主機的命令行下;

vim /etc/profile

我的是三臺云主機:

在原文件的基礎上加上;

ip1 master worker0 namenode

ip2 worker1 datanode1

ip3 worker2 datanode2

其中的ipN代表一個可用的集群IP,ip1為master的主節點,ip2和iip3為從節點。

二、ssh互信(免密碼登錄)

注意我這里配置的是root用戶,所以以下的家目錄是/root

如果你配置的是用戶是xxxx,那么家目錄應該是/home/xxxxx/

#在主節點執行下面的命令:

ssh-keygen-t rsa -P''#一路回車直到生成公鑰

scp/root/.ssh/id_rsa.pub root@worker1:/root/.ssh/id_rsa.pub.master #從master節點拷貝id_rsa.pub到worker主機上,并且改名為id_rsa.pub.masterscp/root/.ssh/id_rsa.pub root@worker1:/root/.ssh/id_rsa.pub.master #同上,以后使用workerN代表worker1和worker2.

scp/etc/hosts root@workerN:/etc/hosts? #統一hosts文件,讓幾個主機能通過host名字來識別彼此

#在對應的主機下執行如下命令:cat/root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys #master主機cat/root/.ssh/id_rsa.pub.master >> /root/.ssh/authorized_keys #workerN主機

這樣master主機就可以無密碼登錄到其他主機,這樣子在運行master上的啟動腳本時和使用scp命令時候,就可以不用輸入密碼了。

三、安裝基礎環境(JAVA和SCALA環境)

1.Java1.8環境搭建:

配置master的java環境

#下載jdk1.8的rpm包

wget--no-check-certificate --no-cookies --header"Cookie: oraclelicense=accept-securebackup-cookie"http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.rpmrpm -ivh jdk-8u112-linux-x64.rpm

#增加JAVA_HOME

vim etc/profile

#增加如下行:#Java homeexport JAVA_HOME=/usr/java/jdk1.8.0_112/

#刷新配置:

source /etc/profile #當然reboot也是可以的

配置workerN主機的java環境

#使用scp命令進行拷貝scpjdk-8u112-linux-x64.rpm root@workerN:/root

#其他的步驟如master節點配置一樣

2.Scala2.12.1環境搭建:

Master節點:

#下載scala安裝包:wget-O"scala-2.12.1.rpm""http://159.226.251.229/videoplayer/scala-2.12.1.rpm?ich_u_r_i=e43f9cc87710b8bba72b4c32577f60ea&ich_s_t_a_r_t=0&ich_e_n_d=0&ich_k_e_y=1745018917750263442428&ich_t_y_p_e=1&ich_d_i_s_k_i_d=1&ich_u_n_i_t=1"

#安裝rpm包:rpm-ivh scala-2.12.1.rpm

#增加SCALA_HOMEvim/etc/profile

#增加如下內容;#Scala Homeexport SCALA_HOME=/usr/share/scala

#刷新配置

source/etc/profile

WorkerN節點;

#使用scp命令進行拷貝scpscala-2.12.1.rpm root@workerN:/root

#其他的步驟如master節點配置一樣

四、Hadoop2.7.3完全分布式搭建

MASTER節點:

1.下載二進制包:

wgethttp://www-eu.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

2.解壓并移動至相應目錄

我的習慣是將軟件放置/opt目錄下:

tar-xvf hadoop-2.7.3.tar.gzmvhadoop-2.7.3/opt

3.修改相應的配置文件:

(1)/etc/profile:

增加如下內容:

#hadoop enviroment

export HADOOP_HOME=/opt/hadoop-2.7.3/export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

(2)$HADOOP_HOME/etc/hadoop/hadoop-env.sh

修改JAVA_HOME 如下:

export JAVA_HOME=/usr/java/jdk1.8.0_112/

(3)$HADOOP_HOME/etc/hadoop/slaves

worker1

worker2

(4)$HADOOP_HOME/etc/hadoop/core-site.xml

? ? ? ? ? ? ? ? ? ? ? ? fs.defaultFS? ? ? ? ? ? ? ? hdfs://master:9000? ? ? ? ? ? ? ? io.file.buffer.size? ? ? ? 131072? ? ? ? ? ? ? ? ? ? ? ? ? ? ? hadoop.tmp.dir? ? ? ? ? ? ? ? /opt/hadoop-2.7.3/tmp? ? ? ?

(5)$HADOOP_HOME/etc/hadoop/hdfs-site.xml

? ? ? ? ? dfs.namenode.secondary.http-address? ? ? master:50090? ? ? ? ? ? ? dfs.replication? ? ? 2? ? ? ? ? ? ? dfs.namenode.name.dir? ? ? file:/opt/hadoop-2.7.3/hdfs/name? ? ? ? ? ? ? dfs.datanode.data.dir? ? ? file:/opt/hadoop-2.7.3/hdfs/data? ?

(6)$HADOOP_HOME/etc/hadoop/mapred-site.xml

復制template,生成xml:

cpmapred-site.xml.template mapred-site.xml

內容:

? ? mapreduce.framework.name? ? yarn? ? ? ? ? ? ? mapreduce.jobhistory.address? ? ? ? ? master:10020? ? ? ? ? ? ? mapreduce.jobhistory.address? ? ? ? ? master:19888?

(7)$HADOOP_HOME/etc/hadoop/yarn-site.xml

? ? ? ? ? ? ? ? ? yarn.nodemanager.aux-services? ? ? ? ? mapreduce_shuffle? ? ? ? ? ? ? ? ? yarn.resourcemanager.address? ? ? ? ? master:8032? ? ? ? ? ? ? ? ? yarn.resourcemanager.scheduler.address? ? ? ? ? master:8030? ? ? ? ? ? ? ? ? yarn.resourcemanager.resource-tracker.address? ? ? ? master:8031? ? ? ? ? ? ? ? yarn.resourcemanager.admin.address? ? ? ? master:8033? ? ? ? ? ? ? ? yarn.resourcemanager.webapp.address? ? ? ? master:8088? ?

至此master節點的hadoop搭建完畢

再啟動之前我們需要

格式化一下namenode

hadoop namenode -format

WorkerN節點:

(1)復制master節點的hadoop文件夾到worker上:

scp-r /opt/hadoop-2.7.3root@wokerN:/opt #注意這里的N要改為1或者2

(2)修改/etc/profile:

過程如master一樣

五、Spark2.1.0完全分布式環境搭建:

MASTER節點:

1.下載文件:

wget-O"spark-2.1.0-bin-hadoop2.7.tgz""http://159.226.251.230/videoplayer/spark-2.1.0-bin-hadoop2.7.tgz?ich_u_r_i=8d258cfd6421af60c998d108eae1ca4d&ich_s_t_a_r_t=0&ich_e_n_d=0&ich_k_e_y=1745018916751063032407&ich_t_y_p_e=1&ich_d_i_s_k_i_d=7&ich_u_n_i_t=1"

2.解壓并移動至相應的文件夾;

tar-xvf spark-2.1.0-bin-hadoop2.7.tgzmvspark-2.1.0-bin-hadoop2.7/opt

3.修改相應的配置文件:

(1)/etc/profie

#Spark enviroment

export SPARK_HOME=/opt/spark-2.1.0-bin-hadoop2.7/export PATH="$SPARK_HOME/bin:$PATH"

(2)$SPARK_HOME/conf/spark-env.sh

cpspark-env.sh.template spark-env.sh

#配置內容如下:

export SCALA_HOME=/usr/share/scala

export JAVA_HOME=/usr/java/jdk1.8.0_112/export SPARK_MASTER_IP=master

export SPARK_WORKER_MEMORY=1g

export HADOOP_CONF_DIR=/opt/hadoop-2.7.3/etc/hadoop

(3)$SPARK_HOME/conf/slaves

cpslaves.template slaves

配置內容如下

master

worker1

worker2

WorkerN節點:

將配置好的spark文件復制到workerN節點

scpspark-2.1.0-bin-hadoop2.7root@workerN:/opt

修改/etc/profile,增加spark相關的配置,如MASTER節點一樣

六、啟動集群的腳本

啟動集群腳本start-cluster.sh如下:

#!/bin/bashecho-e"\033[31m ========Start The Cluster======== \033[0m"echo-e"\033[31m Starting Hadoop Now !!! \033[0m"/opt/hadoop-2.7.3/sbin/start-all.shecho-e"\033[31m Starting Spark Now !!! \033[0m"/opt/spark-2.1.0-bin-hadoop2.7/sbin/start-all.shecho-e"\033[31m The Result Of The Command \"jps\" :? \033[0m"jpsecho-e"\033[31m ========END======== \033[0m"

截圖如下:

關閉集群腳本stop-cluser.sh如下:

#!/bin/bashecho-e"\033[31m ===== Stoping The Cluster ====== \033[0m"echo-e"\033[31m Stoping Spark Now !!! \033[0m"/opt/spark-2.1.0-bin-hadoop2.7/sbin/stop-all.shecho-e"\033[31m Stopting Hadoop Now !!! \033[0m"/opt/hadoop-2.7.3/sbin/stop-all.shecho-e"\033[31m The Result Of The Command \"jps\" :? \033[0m"jpsecho-e"\033[31m ======END======== \033[0m"

截圖如下:

七、測試一下集群:

這里我都用最簡單最常用的Wordcount來測試好了!

1.測試hadoop

測試的源文件的內容為:

Hello hadoop

hello spark

hello bigdata

然后執行下列命令:

hadoop fs -mkdir-p /Hadoop/Input

hadoop fs-put wordcount.txt /Hadoop/Input

hadoop jar/opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /Hadoop/Input /Hadoop/Output

等待mapreduce執行完畢后,查看結果;

hadoop fs -cat/Hadoop/Output/*

hadoop集群搭建成功!

2.測試spark

為了避免麻煩這里我們使用spark-shell,做一個簡單的worcount的測試

用于在測試hadoop的時候我們已經在hdfs上存儲了測試的源文件,下面就是直接拿來用就好了!

spark-shell

valfile=sc.textFile("hdfs://master:9000/Hadoop/Input/wordcount.txt")

val rdd=file.flatMap(line => line.split("")).map(word => (word,1)).reduceByKey(_+_)

rdd.collect()

rdd.foreach(println)

退出的話使用如下命令:

:quit

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內容