Hadoop手把手逐級搭建 第一階段: Hadoop單機偽分布(single)

0. 步驟概述

1). 配置網(wǎng)絡(luò)修改主機名

2). 配置ssh免密碼登錄

3). 安裝jdk

4). 安裝hadoop

5). 配置hadoop單機偽分布運行環(huán)境(不使用yarn)

6). 為hadoop單機偽分布增加yarn配置

1. 配置網(wǎng)絡(luò)修改主機名

1.1 查看VMware虛擬網(wǎng)絡(luò)

1.1.1 點擊VMware菜單“編輯(E)”

1.1.2 在下拉菜單列表選擇“虛擬網(wǎng)絡(luò)編輯器”

1.1.3 在彈出的“虛擬網(wǎng)絡(luò)編輯器”窗口右下角選擇“更改設(shè)置(C)”

1.1.4 如果windows彈出的安全提示選擇“是”

1.1.5 在窗口上方重新刷新的網(wǎng)絡(luò)列表里選中“NAT模式”忍捡,窗口中間的“WMnet信息”下拗慨,復(fù)選框會默認(rèn)選中“NAT模式(與虛擬機共享主機的IP地址)(N)”

1.1.6 點擊“NAT設(shè)置(S)…”

1.1.7 在彈出的“NAT設(shè)置”窗口可以查看到如下信息:
網(wǎng)絡(luò)VMnet8
子網(wǎng)IP:192.168.111.0
子網(wǎng)掩碼:255.255.255.0
網(wǎng)關(guān)IP(G):192.168.111.2

#使用上述信息配置網(wǎng)卡相關(guān)屬性

1.2 配置虛擬機網(wǎng)卡ifcfg-eth0

1.2.1 打開配置文件ifcfg-eth0
[root@hadoop0 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

1.2.2 刪除ifcfg-eth0文件中的如下屬性
HWADDR=xx:xx:xx:xx:xx:xx
UUID=xxx

1.2.3 為ifcfg-eth0文件添加如下屬性宣肚,如已經(jīng)存在則替換或修改
TYPE=Ethernet
IPADDR=192.168.111.111   #ip地址
NETMASK=255.255.255.0   #子網(wǎng)掩碼
GATEWAY=192.168.111.2   #網(wǎng)關(guān)
ONBOOT=yes             #隨系統(tǒng)自動啟動
BOOTPROTO=static        #靜態(tài)地址

1.2.4 修改完成后/etc/sysconfig/network-scripts/ifcfg-eth0完整內(nèi)容如下
DEVICE=eth0
NM_CONTROLLED=yes
TYPE=Ethernet
IPADDR=192.168.111.111 
NETMASK=255.255.255.0 
GATEWAY=192.168.111.2 
ONBOOT=yes 
BOOTPROTO=static 

1.3 設(shè)置NETWORKING刷后,修改主機名

1.3.1 向/etc/sysconfig/network添加如下內(nèi)容
[root@hadoop0 ~]# vi /etc/sysconfig/network
NETWORKING=yes      #啟動時激活網(wǎng)絡(luò)
HOSTNAME=hadoop0   #自定義主機名
GATEWAY=192.168.111.2 #網(wǎng)關(guān)

1.3.2 修改完成后/etc/sysconfig/network完整內(nèi)容如下
NETWORKING=yes 
HOSTNAME=hadoop0 
GATEWAY=192.168.111.2 

1.4 刪除70-persistent-net.rules文件

[root@hadoop0 ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules

#如果虛擬機克隆自另一臺虛擬機闷游,不刪除該文件會產(chǎn)生如下錯誤
device eth0 does not seem to present

1.5 重啟網(wǎng)絡(luò)使配置生效

[root@hadoop0 ~]# service network restart

1.6 測試連接local是否暢通

[root@hadoop0 ~]# ping 127.0.0.1
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.021 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.021 ms

#暢通則持續(xù)顯示上述內(nèi)容

1.7 測試連接外網(wǎng)是否暢通

[root@hadoop0 ~]# ping baidu.com
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms

#暢通則持續(xù)顯示上述內(nèi)容

1.8 配置resolv.conf

1.8.1 如果ping外網(wǎng)ip地址暢通镊尺,ping域名出現(xiàn)如下錯誤
unknown host baidu.com  
說明配置文件缺少nameserver

1.8.2 向resolv.conf文件添加如下內(nèi)容
[root@hadoop0 ~]# vi /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.4.4

1.8.3 修改完成后/etc/resolv.conf完整內(nèi)容如下
nameserver 114.114.114.114
nameserver 8.8.4.4


1.8.4重新測試連接外網(wǎng)域名
[root@hadoop0 ~]# ping baidu.com
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=5.50 ms

#暢通則持續(xù)顯示上述內(nèi)容
#其中111.13.101.208是baidu.com解析后的ip地址悲立,可能會有所不同

1.9 關(guān)閉防火墻

# 如果測試外網(wǎng)不通,輸入如下命令關(guān)閉防火墻
1.9.1 臨時關(guān)閉防火墻
[root@hadoop0 ~]# service iptables off

1.9.2 永久關(guān)閉防火墻
[root@hadoop0 ~]# chkconfig iptables off

1.10 在hosts文件中添加主機名映射

1.10.1 為/etc/hosts文件添加如下內(nèi)容
[root@hadoop0 ~]# vi /etc/hosts
192.168.111.111 hadoop0

1.10.2 添加完成后/etc/hosts文件完整內(nèi)容如下

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.111.111 hadoop0

1.11 其他

1.11.1 安裝vim
連接網(wǎng)絡(luò)成功后档冬,如果vim命令不存在膘茎,使用如下命令安裝vim
[root@hadoop0 ~]# yum install -y vim*

1.11.2 使用xShell連接并操作虛擬機
網(wǎng)絡(luò)連接成功后,可自行選擇使用xShell連接并操作虛擬機酷誓,提供了比VMware原生界面更方便的操作

2. 設(shè)置SSH免密登錄

2.1 生成密匙

[root@hadoop0 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

2.2 查看生成的密匙

[root@hadoop0 ~]# cd ~/.ssh
[root@hadoop0 .ssh]# ls
id_dsa  id_dsa.pub

#在~/.ssh目錄下生成了id_dsa和id_dsa.pub兩個文件

2.3 測試ssh連接本機

[root@hadoop0 ~]# ssh hadoop0
The authenticity of host 'hadoop0 (192.168.111.111)' can't be established.
RSA key fingerprint is xxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop0,192.168.111.111' (RSA) to the list of known hosts.
root@hadoop0's password:

# ssh連接本機仍需輸入密碼

2.4 登錄自身免密

[root@hadoop0 ~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

2.5 查看結(jié)果

2.5.1 進(jìn)入~/.ssh目錄
[root@hadoop0 ~]# cd ~/.ssh

2.5.2 ~/.ssh目錄在id_dsa和id_dsa.pub的基礎(chǔ)上又新增了authorized_keys
[root@hadoop0 .ssh]# ls
authorized_keys  id_dsa  id_dsa.pub

2.6 驗證ssh連接本機

[root@hadoop0 ~]# ssh hadoop0

# 無須再輸入密碼披坏,表示配置成功

3 安裝JDK(在虛擬機hadoop0上)

3.1 在hadoop0上創(chuàng)建目錄/usr/java/

[root@hadoop0 ~]# mkdir /usr/java

3.2使用xftp上傳jdk-7u67-linux-x64.tar.gz

xftp左側(cè)窗口為windows文件目錄;
右側(cè)窗口為當(dāng)前虛擬機linux文件目錄;
從左側(cè)窗口找到windows本地的jdk-7u67-linux-x64.tar.gz;
在右側(cè)窗口進(jìn)入/usr/java/目錄;
左側(cè)窗口雙擊jdk-7u67-linux-x64.tar.gz文件,即可上傳至左側(cè)窗口目前所在的虛擬機目錄;
如有問題自行查詢xShell和xFtp的使用方法

3.3 解壓jdk-7u67-linux-x64.tar.gz到/usr/java

3.3.1 進(jìn)入/usr/java目錄
[root@hadoop0 ~]# cd /usr/java
[root@hadoop0 java]

3.3.2 解壓jdk-7u67-linux-x64.tar.gz到/usr/java
[root@hadoop0 java]# tar -zxvf jdk-7u67-linux-x64.tar.gz

3.4 配置java環(huán)境變量

# 編輯/etc/profile文件并添加如下內(nèi)容
[root@hadoop0 ~]# vim /etc/profile
#jdk
export JAVA_HOME=/usr/java/jdk1.7.0_67
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

3.5 使/etc/profile配置生效

[root@hadoop0 ~]# source /etc/profile

3.6 查看java版本,檢查環(huán)境變量是否生效

[root@hadoop0 ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

#正常顯示如上信息則配置成功

4 在hadoop0上配置hadoop環(huán)境變量

4.1 創(chuàng)建/opt/test目錄

[root@hadoop0 ~]# mkdir /opt/test

4.2 使用xftp上傳hadoop-2.6.5.tar.gz到/opt/test/

4.3 將hadoop-2.6.5.tar.gz解壓到文件夾/opt/test/

4.3.1 進(jìn)入/opt/test目錄
[root@hadoop0 ~]# cd /opt/test/
[root@hadoop0 test]#

4.3.2解壓hadoop-2.6.5.tar.gz到文件夾/opt/test/
[root@hadoop0 test]# tar -zxvf hadoop-2.6.5.tar.gz

4.4 配置HADOOP環(huán)境變量

# 在/etc/profile添加如下內(nèi)容
[root@hadoop0 test]# vim /etc/profile
#hadoop
export HADOOP_PREFIX=/opt/test/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

4.5使/etc/profile配置生效

[root@hadoop0 test]# source /etc/profile 

4.6 輸入hadoop命令查看是否配置成功

[root@hadoop0 test]# hadoop version
Hadoop 2.6.5
…

#出現(xiàn)上述版本號信息表示環(huán)境變量配置成功

5 配置hadoop單機偽分布運行環(huán)境(不使用yarn)

5.0 進(jìn)入$HADOOP_HOME/etc/hadoop/目錄

[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/etc/hadoop/
[root@hadoop0 hadoop]#

5.1在hadoop-env.sh上配置JAVA_HOME

# 為$HADOOP_HOME/etc/hadoop/hadoop-env.sh添加如下內(nèi)容
[root@hadoop0 hadoop]# vim hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67

5.2 配置core-site.xml

# 將$HADOOP_HOME/etc/hadoop/core-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop0:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/test/hadoop/local</value>
</property>
</configuration>

5.3 配置hdfs-site.xml

# 將$HADOOP_HOME/etc/hadoop/hdfs-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop0:50090</value>
    </property>
</configuration>

5.4 配置slaves

5.4.1將原有內(nèi)容替換為當(dāng)前虛擬機名稱盐数,單機偽分布只配置一臺
[root@hadoop0 hadoop]# vim slaves
hadoop0

5.4.2 配置完成后$HADOOP_HOME/etc/hadoop/slaves完整內(nèi)容如下
hadoop0

5.5 啟動hadoop偽分布集群

5.5.1 首次啟動格式化namenode
[root@hadoop0 ~]# hdfs namenode -format

5.5.2 啟動集群
[root@hadoop0 ~]# start-dfs.sh

5.5.3 查看進(jìn)程
[root@hadoop0 ~]# jps
2051 SecondaryNameNode
1870 DataNode
1781 NameNode
2159 Jps

5.5.4 查看集群信息
[root@hadoop0 ~]# hadoop fs

5.5.5 查看根目錄下的所有內(nèi)容
[root@hadoop0 ~]# hdfs dfs -ls 

5.6 上傳文件測試單機偽分布集群(未使用yarn)

5.6.1 進(jìn)入$HADOOP_HOME/share/hadoop/mapreduce/目錄
[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/share/hadoop/mapreduce/

5.6.2 為方便測試直接在mapreduce目錄生成測試文件
[root@hadoop0 mapreduce]# echo "hello world hello world hello" >> test.txt

# 或者使用語句生成包含更多內(nèi)容的文本
for i in `seq 100000`;do echo “hello world hello world $i” >>test.txt;done

5.6.3上傳test.txt文件到根目錄
5.6.3.1 默認(rèn)上傳
[root@hadoop0 mapreduce]# hadoop fs -put test.txt /

5.6.3.2 也可以指定blocksize
[root@hadoop0 mapreduce]# hdfs dfs -D dfs.blocksize=1048576 -put test.txt /

5.6.4 運行wordcount測試程序
[root@hadoop0 mapreduce]# 
hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount /test.txt /output

#其中output是在hdfs文件系統(tǒng)的根目錄下創(chuàng)建的輸出路徑

5.6.5 查看mapreduce運行結(jié)果
[root@hadoop0 mapreduce]# hadoop dfs -text /output/part-*
hello   100003
world   200002
“hello  100000

6. 為hadoop單機偽分布添加yarn

6.0 進(jìn)入$HADOOP_HOME/etc/hadoop目錄

[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/etc/hadoop/
[root@hadoop0 hadoop]

6.1 分別在mapred-env.sh, yarn-env.sh上配置JAVA_HOME

6.1.1 為$HADOOP_HOME/etc/hadoop/mapred-env.sh添加JAVA_HOME
[root@hadoop0 hadoop]# vim mapred-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67

6.1.2 為$HADOOP_HOME/etc/hadoop/yarn-env.sh添加JAVA_HOME
[root@hadoop0 hadoop]# vim yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67

6.2 配置mapred-site.xml

6.2.1復(fù)制一份mapred-site.xml.template并命名為mapred-site.xml
[root@hadoop0 hadoop]# cp mapred-site.xml.template mapred-site.xml

6.2.2 將$HADOOP_HOME/etc/hadoop/mapred-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

6.3 配置yarn-site.xml

# 將$HADOOP_HOME/etc/hadoop/yarn-site.xml內(nèi)容替換如下
[root@hadoop0 hadoop]# vim yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

6.4 啟動配置了yarn的單機偽分布集群

6.4.1 啟動hdfs
[root@hadoop0 ~]# start-dfs.sh

6.4.2 查看進(jìn)程
[root@hadoop0 ~]# jps
2051 SecondaryNameNode
1870 DataNode
1781 NameNode
2159 Jps

6.4.3 啟動yarn
[root@hadoop0 ~]# start-yarn.sh

6.4.4 查看進(jìn)程
[root@hadoop0 ~]# jps
2051 SecondaryNameNode
1870 DataNode
1781 NameNode
2650 Jps
2291 NodeManager
2203 ResourceManager

# 增加了NodeManager和ResourceManager兩個進(jìn)程

6.5 在運行yarn的單機偽分布集群上測試wordcount程序

6.5.1 進(jìn)入$HADOOP_HOME/share/hadoop/mapreduce/目錄
[root@hadoop0 ~]# cd /opt/test/hadoop-2.6.5/share/hadoop/mapreduce/

6.5.2 運行wordcount測試程序棒拂,輸出到/output2
[root@hadoop0 mapreduce]# 
hadoop jar hadoop-mapreduce-examples-2.6.5.jar wordcount /test.txt /output2
#運行時會首先看到如下信息
INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032

6.5.3 查看mapreduce運行結(jié)果
[root@hadoop0 mapreduce]# hadoop dfs -text /output2/part-*
hello   100003
world   200002
“hello  100000

參考資料:

a). Hadoop數(shù)據(jù)分析平臺實戰(zhàn)——010hadoop介紹安裝

后續(xù)步驟:

2). 第二階段:Hadoop完全分布式(full)

3). 第三階段:Hadoop高可用(HA)

4). 第四階段:Hadoop高可用+聯(lián)邦+視圖文件系統(tǒng)(HA+Federation+ViewFs)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市玫氢,隨后出現(xiàn)的幾起案子帚屉,更是在濱河造成了極大的恐慌,老刑警劉巖漾峡,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件攻旦,死亡現(xiàn)場離奇詭異,居然都是意外死亡灰殴,警方通過查閱死者的電腦和手機敬特,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牺陶,“玉大人伟阔,你說我怎么就攤上這事£欤” “怎么了皱炉?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長狮鸭。 經(jīng)常有香客問我合搅,道長多搀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任灾部,我火速辦了婚禮康铭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘赌髓。我一直安慰自己从藤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布锁蠕。 她就那樣靜靜地躺著夷野,像睡著了一般这揣。 火紅的嫁衣襯著肌膚如雪嚎莉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天俺叭,我揣著相機與錄音舌仍,去河邊找鬼妒貌。 笑死,一個胖子當(dāng)著我的面吹牛抡笼,可吹牛的內(nèi)容都是我干的苏揣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼推姻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了框沟?” 一聲冷哼從身側(cè)響起藏古,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎忍燥,沒想到半個月后拧晕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡梅垄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年厂捞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片队丝。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡靡馁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出机久,到底是詐尸還是另有隱情臭墨,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布膘盖,位于F島的核電站胧弛,受9級特大地震影響尤误,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜结缚,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一损晤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧红竭,春花似錦尤勋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至眉厨,卻和暖如春锌奴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背憾股。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工鹿蜀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人服球。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓茴恰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親斩熊。 傳聞我的和親對象是個殘疾皇子往枣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

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