從零開始搭建Hadoop2.7.1的分布式集群

Hadoop2.7.1彪标,Hadoop的環(huán)境配置不是特別的復(fù)雜倍权,但是確實(shí)有很多細(xì)節(jié)需要注意,不然會造成許多配置錯(cuò)誤的情況捞烟。盡量保證一次配置正確防止反復(fù)修改薄声。


操作環(huán)境說明

操作系統(tǒng)

  • 操作系統(tǒng): window10
  • cpu: i7-6700k
  • 內(nèi)存:16g


虛擬機(jī)版本:VMware12


ssh-keygen -t rsa -C "mmmwhy@qq.com"

材料準(zhǔn)備

  • ubuntu-14.10-desktop-amd64.iso (Ubuntu 光盤映像)
  • hadoop-2.7.1.tar.gz (Hadoop 環(huán)境包)
    注意:
    ubuntu14.04有自帶的java,版本是1.7坷襟,輸入java -version即可查看
    mark

    如果沒有安裝java的話奸柬,網(wǎng)上找個(gè)安裝java的文章即可,比如這篇

搭建開始

搭建開始

Vmware 創(chuàng)建虛擬機(jī)


根據(jù)Hadoop的調(diào)度規(guī)則婴程,我們將使用VMware 12 加載 ubuntu….iso來創(chuàng)建三個(gè)Ubuntu 虛擬機(jī)廓奕。創(chuàng)建用典型安裝即可。安裝位置請選一個(gè)足夠大的硬盤,預(yù)估需要50g桌粉。記住這個(gè)位置

這時(shí)我們先創(chuàng)建一個(gè)Ubuntu虛擬機(jī)蒸绩,為什么這樣稍后解釋。

SSH 安裝以及配置

先配置ubuntu鏡像源

打開軟件源文件

sudo gedit /etc/apt/sources.list

將以下內(nèi)容替換到源文件(注意在清華大學(xué)網(wǎng)站上選擇合適自己系統(tǒng)的版本)

# 默認(rèn)注釋了源碼鏡像以提高 apt update 速度铃肯,如有需要可自行取消注釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse

# 預(yù)發(fā)布軟件源患亿,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse

更新軟件源

sudo apt-get update

安裝ssh

sudo apt-get install openssh-server

已有ssh或者安裝成功了的輸入命令

ps -e | grep ssh

驗(yàn)證SSH是否成功安裝輸入

ssh localhost

出現(xiàn)以下提示說明安裝成功


注意,這個(gè)時(shí)候不是特權(quán)模式押逼,特權(quán)模式反而會報(bào)錯(cuò)步藕,因?yàn)槲覀冊O(shè)置的賬戶名其實(shí)不是root

生成密鑰Pair

ssh-keygen -t rsa

輸入后一直回車選擇默認(rèn)即可



mater主機(jī)中輸入命令復(fù)制一份公鑰到home中

cp .ssh/id_rsa.pub ~/id_rsa_master.pub

復(fù)制出兩個(gè)虛擬機(jī)

到開始我們放置虛擬機(jī)的位置,復(fù)制兩份放在旁邊挑格,然后用vm直接打開那兩個(gè)文件夾咙冗。
這樣可以生成三個(gè)一毛一樣的虛擬機(jī)。



順便給他們把名字改成各自的角色漂彤。
這樣做的好處是不需要將之前的步驟重復(fù)進(jìn)行多次雾消,不容易出錯(cuò)。

配置 Hadoop (**以下配置將僅僅在master主機(jī)上進(jìn)行 **)

  • 將解壓縮好的hadoop-2.7.1文件夾拷貝到home根目錄下面
  • 在hadoop-2.7.1文件夾下創(chuàng)建文件挫望,輸入
mkdir hadoop-2.7.1/tmp
mkdir hadoop-2.7.1/hdfs
mkdir hadoop-2.7.1/hdfs/name
mkdir hadoop-2.7.1/hdfs/data
  • 輸入命令查看ip地址 立润,三個(gè)都要看,找個(gè)小本本記下媳板。
ifconfig -a

eg. 我所使用的IP地址

192.168.232.36 master
192.168.232.54 slave1
192.168.232.79 slave2
  • 修改hosts
sudo gedit /etc/hosts

三個(gè)ip地址和對應(yīng)的角色寫在hosts內(nèi)

  • 修改hostname
sudo gedit /etc/hostname

master 的改為 master
slave1 的改為 slave1
slave2 的改為 slave2

修改環(huán)境變量

cd ~/hadoop-2.7.1/

hadoop-env.sh

gedit etc/hadoop/hadoop-env.sh

找到JAVA_HOME=… 一行修改為Java HOME的路徑

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64

core-site.xml

gedit etc/hadoop/core-site.xml

在configuration標(biāo)簽中添加

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

    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/mmmwhy/hadoop-2.7.1/tmp</value>
    </property>

mapred-site.xml

創(chuàng)建并編輯

cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
gedit etc/hadoop/mapred-site.xml

在configuration標(biāo)簽中添加

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

    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/mmmwhy/hadoop-2.7.1/tmp</value>
    </property>

hdfs-site.xml

gedit etc/hadoop/hdfs-site.xml

在configuration標(biāo)簽中添加

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/mmmwhy/hadoop-2.7.1/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/mmmwhy/hadoop-2.7.1/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value>
    </property>

yarn-site.xml

gedit etc/hadoop/yarn-site.xml

在configuration標(biāo)簽中添加

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8088</value>
    </property>

slaves文件

gedit etc/hadoop/slaves

刪除原有內(nèi)容桑腮,根據(jù)配置修改,此處為

slave1
slave2
  • 分發(fā)配置好的hadoop文件夾到slave1, slave2
    前提是設(shè)置好ssh
scp -r hadoop-2.7.1 mmmwhy@slave1:~/ 
scp -r hadoop-2.7.1 mmmwhy@slave2:~/ 

應(yīng)該出現(xiàn)一大堆看起來非常厲害的東西拷肌。

  • 格式化hdfs
    進(jìn)入hadoop home目錄
bin/hdfs namenode -format
  • 啟動集群
sbin/start-all.sh

啟動后分別在master, slave下輸入jps查看進(jìn)程



如上則說明啟動成功

集群測試

echo hellecho hello world >> in1.txt hadoop >> in2.txt
cd ~/mmmwhy/hadoop-2.7.1/
bin/hadoop fs -mkdir /usr
bin/hadoop fs -mkdir /usr/input
bin/hadoop fs -put in1.txt /usr/input
bin/hadoop fs -put in2.txt /usr/input
#執(zhí)行Hadoop內(nèi)置example測試程序
bin/hadoop jar ~/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /usr/input /usr/output

然后進(jìn)入 http://localhost:50070/explorer.html#/usr/input
就可以看到

運(yùn)行wordcount測試

進(jìn)入hadoop home目錄
在hdfs(分布式文件系統(tǒng))中創(chuàng)建一個(gè)名為input的文件夾

bin/hadoop fs -mkdir /input

查看文件是否被創(chuàng)建

bin/hadoop fs -ls /

hadoop home 下創(chuàng)建一個(gè)inputfile 文件夾到旦,并在inputfile里創(chuàng)建兩個(gè)文件
in1.txt

Hello world hello hadoop

in2.txt

Hello Hadoop hello whatever

上傳兩個(gè)文件進(jìn)input

bin/hadoop fs -put inputfile/*.txt /input

查看輸入文件是否傳入

bin/hadoop fs -ls /input

用hadoop jar命令運(yùn)行Hadoop自帶的wordcount

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output

程序開始運(yùn)行,成功后查看輸出文件夾

bin/hadoop fs -ls /output
bin/hadoop fs -cat /output/part-r-00000

至此hadoop分布式集群配置完成巨缘!本文主體內(nèi)容轉(zhuǎn)自CSDN添忘,原作者寫的非常好,但是有一些小問題若锁,做到一半的時(shí)候花式報(bào)錯(cuò)料扰,因此自己寫了一份邓萨,修正了其中一些問題商虐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末须教,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仰冠,更是在濱河造成了極大的恐慌乏冀,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洋只,死亡現(xiàn)場離奇詭異辆沦,居然都是意外死亡昼捍,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門肢扯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妒茬,“玉大人,你說我怎么就攤上這事蔚晨≌ё辏” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵铭腕,是天一觀的道長银择。 經(jīng)常有香客問我,道長谨履,這世上最難降的妖魔是什么欢摄? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮笋粟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘析蝴。我一直安慰自己害捕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布闷畸。 她就那樣靜靜地躺著尝盼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪佑菩。 梳的紋絲不亂的頭發(fā)上盾沫,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機(jī)與錄音殿漠,去河邊找鬼赴精。 笑死,一個(gè)胖子當(dāng)著我的面吹牛绞幌,可吹牛的內(nèi)容都是我干的蕾哟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼莲蜘,長吁一口氣:“原來是場噩夢啊……” “哼谭确!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起票渠,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤逐哈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后问顷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昂秃,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡薯鼠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了械蹋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片出皇。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖哗戈,靈堂內(nèi)的尸體忽然破棺而出郊艘,到底是詐尸還是另有隱情,我是刑警寧澤唯咬,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布纱注,位于F島的核電站,受9級特大地震影響胆胰,放射性物質(zhì)發(fā)生泄漏狞贱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一蜀涨、第九天 我趴在偏房一處隱蔽的房頂上張望瞎嬉。 院中可真熱鬧,春花似錦厚柳、人聲如沸氧枣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽便监。三九已至,卻和暖如春碳想,著一層夾襖步出監(jiān)牢的瞬間烧董,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工胧奔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逊移,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓葡盗,卻偏偏與公主長得像螟左,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子觅够,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

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