14. apache hadoop 4臺(tái)分布式集群搭建-part2

上文鏈接
13. apache hadoop 4臺(tái)分布式集群搭建-part1

下載程序并解壓:

cd /app/zpy 
wget https://dist.apache.org/repos/dist/release/hadoop/common/hadoop-2.6.2/hadoop-2.6.2.tar.gz
tar zxvf hadoop-2.6.2.tar.gz
mv hadoop-2.6.2 hadoop
chown -R  hadoop:hadoop /app/zpy/hadoop

配置環(huán)境變量

vim /etc/profile.d/hadoop.sh
添加
export HADOOP_PRIFIX=/app/zpy/hadoop
export PATH=$PATH:${HADOOP_PRIFIX}/bin:${HADOOP_PRIFIX}/sbin
export HADOOP_YARN_HOME=${HADOOP_PRIFIX}
export HADOOP_MAPPERD_HOME=${HADOOP_PRIFIX}
export HADOOP_COMMON_HOME=${HADOOP_PRIFIX}
export HADOOP_HDFS_HOME=${HADOOP_PRIFIX}

master 節(jié)點(diǎn)的配置

core-site.xml 文件配置

cd  /app/zpy/hadoop/etc/hadoop
vim core-site.xml

<configuration>
 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://test001.zipeiyi.corp:8020</value>
        <final>true</final>
 </property>
</configuration>

hdfs-site.xml配置

把數(shù)值的1改為3
使用三份副本會(huì)有一個(gè)問題捌袜,你的磁盤空間只會(huì)有三分之一使用率
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
</property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///data/hadoop/hdfs/nn</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///data/hadoop/hdfs/dn</value>
    </property>

    <property>
        <name>fs.checkpoint.dir</name>
        <value>file:///data/hadoop/hdfs/snn</value>
    </property>

    <property>
        <name>fs.checkpoint.edits.dir</name>
        <value>file:///data/hadoop/hdfs/snn</value>
    </property> 

    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

配置:mapred-site.xml

cp mapred-site.xml.template  mapred-site.xml
<configuration>
 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>
</configuration>

yarn-site.xml配置

vim 全局替換: :%s/源字符串/目的字符串/g

<configuration>
 <property>
  <name>yarn.resourcemanager.address</name>
  <value>test001.zipeiyi.corp:8032</value>
 </property>
 
 <property>
  <name>yarn.resourcemanager.scheduler.address</name>
  <value>test001.zipeiyi.corp:8030</value>
 </property>

 <property>
  <name>yarn.resourcemanager.resource-tracker.address</name>
  <value>test001.zipeiyi.corp:8031</value>
 </property>
 
 <property>
  <name>yarn.resourcemanager.admin.address</name>
  <value>test001.zipeiyi.corp:8033</value>
 </property>
 
 <property>
  <name>yarn.resourcemanager.webapp.address</name>
  <value>test001.zipeiyi.corp:8088</value>
 </property>

 <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.scheduler.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
 </property>

<property>
   <name>yarn.nodemanager.pmem-check-enabled</name>
   <value>false</value>
</property>

<property>
   <name>yarn.nodemanager.vmem-check-enabled</name>
   <value>false</value>
</property>

<property>
 <description>Amount of physical memory, in MB, that can be allocated
for containers.</description>
 <name>yarn.nodemanager.resource.memory-mb</name>
 <value>31920</value>
</property>



<property>
 <description>vcores for nodemanager</description>
 <name>yarn.nodemanager.resource.cpu-vcores</name>
 <value>15</value>
</property>


</configuration>

yarn.nodemanager.resource.memory-mb參數(shù)的作用:

圖片.png

yarn.nodemanager.resource.cpu-vcores參數(shù)的作用:

圖片.png

編輯slave文件:

vim slaves 添加如下:
test002.zipeiyi.corp
test003.zipeiyi.corp
test004.zipeiyi.corp

slave節(jié)點(diǎn)的配置

197 與 198  199 的配置與master 196一樣:
在主節(jié)點(diǎn)上使用hadoop用戶復(fù)制
su hadoop
scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml 10.1.10.197:/app/zpy/hadoop/etc/hadoop/  
scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml 10.1.10.198:/app/zpy/hadoop/etc/hadoop/
scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml 10.1.10.199:/app/zpy/hadoop/etc/hadoop/

格式化HDFS

與偽分布式模式相同,在HDFS集群的NN啟動(dòng)之前需要先初始化其用于存儲(chǔ)數(shù)據(jù)的目錄
如果hdfs-site.xml中的dfs.namenode.name.dir 屬性指定的目錄不存在僵缺,格式化命令會(huì)自動(dòng)創(chuàng)建厌殉;
如果事先存在食绿,請(qǐng)確保其權(quán)限設(shè)置正確,此時(shí)格式化操作會(huì)清除其內(nèi)部所有數(shù)據(jù)并重新建立一個(gè)新的文件系統(tǒng)公罕。

在所有機(jī)器上執(zhí)行:
chown -R hadoop:hadoop /data/hadoop
chown -R hadoop:hadoop /app/zpy/hadoop

 只在主節(jié)點(diǎn)執(zhí)行:
以hadoop用戶執(zhí)行:hdfs namenode -format
看格式化是否成功器紧,應(yīng)該找到這樣一句話
17/04/17 10:07:17INFO common.Storage: Storage directory /data/hadoop/hdfs/nn has beensuccessfully formatted.

 對(duì)比主節(jié)點(diǎn)與從節(jié)點(diǎn)的目錄:
/data/hadoop/hdfs/nn/
發(fā)現(xiàn)主節(jié)點(diǎn)的才有數(shù)據(jù)

啟動(dòng)hadoop進(jìn)程的兩種方式(現(xiàn)在不做這個(gè)操作,后面做)

啟動(dòng)hadoop集群的方法有兩種:
一是在各節(jié)點(diǎn)分別啟動(dòng)需要啟動(dòng)的服務(wù)
二是在master節(jié)點(diǎn)啟動(dòng)整個(gè)集群

第一種方式分別啟動(dòng)

master節(jié)點(diǎn)需要啟動(dòng)
Namenode與snn服務(wù)以及Resourcemanager服務(wù) 
hadoop-daemon.sh(start|stop)namenode
hadoop-daemon.sh(start|stop)secondarynamenode
yarn-daemon.sh(start|stop)resourcemanager
各slave節(jié)點(diǎn)需要分別啟動(dòng)HDFS的DataNode服務(wù)楼眷,以及YARN的NodeManager服務(wù)
hadoop-daemon.sh(start|stop)datanode
yarn-daemon.sh(start|stop)nodemanager

第二種方式:在master節(jié)點(diǎn)啟動(dòng)整個(gè)集群(現(xiàn)在不做這個(gè)操作铲汪,后面做)

cd /app/zpy/hadoop/sbin
su hadoop 
start-dfs.sh   
start-yarn.sh  
ps: 較早的版本會(huì)提供start-all.sh 和stop-all.sh 腳本來(lái)統(tǒng)一控制hdfs與mapreduce,但hadoop2.0及之后的方式不再建議使用此方式

JAVA的配置

如果你的java并非按照標(biāo)準(zhǔn)路徑配置罐柳,強(qiáng)烈建議你啟動(dòng)前修改
vim /app/zpy/hadoop/etc/hadoop/hadoop-env.sh
關(guān)于java的路徑修改為絕對(duì)路徑掌腰,不然啟動(dòng)會(huì)有錯(cuò)誤
如下:
export JAVA_HOME=/app/zpy/java/jdk1.8.0_51

其他小細(xì)節(jié)

vim /etc/ssh/ssh_config
修改
#   StrictHostKeyChecking ask
去掉#號(hào),然后修改如下:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

一條命令修改:
sed -i "s?#   StrictHostKeyChecking ask?StrictHostKeyChecking no \n UserKnownHostsFile /dev/null ?g" /etc/ssh/ssh_config

chown -R hadoop:hadoop /data/hadoop
chown -R hadoop:hadoop /app/zpy/hadoop
chmod -R 700 /app/zpy/hadoop/logs/

啟動(dòng)hadoop集群之HDFS(只在主節(jié)點(diǎn)啟動(dòng))

su hadoop 
cd /app/zpy/hadoop/sbin/
start-dfs.sh
關(guān)閉:stop-dfs.sh

[hadoop@hadoop-nn01hadoop]$ start-dfs.sh

啟動(dòng)完畢后使用jps命令檢查其余機(jī)器看是否已經(jīng)啟動(dòng)相關(guān)角色

上傳一個(gè)大于64M的文件

1)hdfs dfs -mkdir /test 
2)hdfs dfs -put  /opt/mysql-bin.001477  /test
3)hdfs dfs -ls -R   /test
-rw-r--r--   3 hadoop supergroup  295394121 2017-04-19 10:13 /test/mysql-bin.001477

4)我們?nèi)ト_(tái)datanode服務(wù)器上去找一下我們真正的數(shù)據(jù)

第一臺(tái):
/data/hadoop/hdfs/dn/current/BP-1509373726-10.0.140.78-1492505099380/current/finalized/subdir0/subdir0
-rw-rw-r-- 1 hadoop hadoop 134217728 Apr 19 10:13 blk_1073741825
-rw-rw-r-- 1 hadoop hadoop   1048583 Apr 19 10:13 blk_1073741825_1001.meta
-rw-rw-r-- 1 hadoop hadoop 134217728 Apr 19 10:13 blk_1073741826
-rw-rw-r-- 1 hadoop hadoop   1048583 Apr 19 10:13 blk_1073741826_1002.meta
-rw-rw-r-- 1 hadoop hadoop  26958665 Apr 19 10:13 blk_1073741827
-rw-rw-r-- 1 hadoop hadoop    210623 Apr 19 10:13 blk_1073741827_1003.meta
more blk_1073741825_1001.meta 可以明顯看出就是log-bin的數(shù)據(jù)


第二臺(tái):
-rw-rw-r-- 1 hadoop hadoop 134217728 Apr 19 10:13 blk_1073741825
-rw-rw-r-- 1 hadoop hadoop   1048583 Apr 19 10:13 blk_1073741825_1001.meta
-rw-rw-r-- 1 hadoop hadoop 134217728 Apr 19 10:13 blk_1073741826
-rw-rw-r-- 1 hadoop hadoop   1048583 Apr 19 10:13 blk_1073741826_1002.meta
-rw-rw-r-- 1 hadoop hadoop  26958665 Apr 19 10:13 blk_1073741827
-rw-rw-r-- 1 hadoop hadoop    210623 Apr 19 10:13 blk_1073741827_1003.meta


第三臺(tái):
-rw-rw-r-- 1 hadoop hadoop 134217728 Apr 19 10:13 blk_1073741825
-rw-rw-r-- 1 hadoop hadoop   1048583 Apr 19 10:13 blk_1073741825_1001.meta
-rw-rw-r-- 1 hadoop hadoop 134217728 Apr 19 10:13 blk_1073741826
-rw-rw-r-- 1 hadoop hadoop   1048583 Apr 19 10:13 blk_1073741826_1002.meta
-rw-rw-r-- 1 hadoop hadoop  26958665 Apr 19 10:13 blk_1073741827
-rw-rw-r-- 1 hadoop hadoop    210623 Apr 19 10:13 blk_1073741827_1003.meta


因?yàn)槲覀冊(cè)谂渲梦募dfs-site.xml中做了如下定義:
    <property>
    <name>dfs.replication</name>
    <value>3</value>
    </property>

啟動(dòng)hadoop集群之yarn(主節(jié)點(diǎn)啟動(dòng))

su hadoop
cd /app/zpy/hadoop/sbin/
start-yarn.sh
使用jps命令觀察角色
主節(jié)點(diǎn)增加ResourceManager
從節(jié)點(diǎn)增加NodeManager

WEBUI監(jiān)控

HDFS和YARN ResourceManager 各自提供了一個(gè)web接口硝清,通過這些接口可以檢查HDFS集群以及YARN集群的相關(guān)狀態(tài)信息辅斟。
他們的訪問接口分別為如下所示,具體使用中芦拿,需要將Namenode和RresourceManagerHost分別修改其相應(yīng)的主機(jī)地址
HDFS-NameNode:http://10.0.140.78:50070
ResourceManager的web界面:http://10.0.140.78:8088
HDFS WEBUI
YARN WEBUI

如何向hadoop提交程序并運(yùn)行士飒?

ok,現(xiàn)在我們HDFS搭建完畢了蔗崎,YARN也搭建完畢了酵幕,現(xiàn)在我們想在YARN上跑一個(gè)mapreduce程序。
我又不會(huì)寫map和reduce程序缓苛,hadoop為我們提供了測(cè)試包
hadoop-YARN 自帶了很多樣例程序芳撒,他們位于hadoop安裝路徑下的
share/hadoop/mapreduce/目錄里,其中hadoop-mapreduce-examples-2.6.2.jar
就可以作為mapreduce的程序測(cè)試未桥!


yarn  jar hadoop-mapreduce-examples-2.6.2.jar 笔刹,可以看出好多選項(xiàng)
[hadoop@localhostmapreduce]$ yarn  jar  hadoop-mapreduce-examples-2.6.2.jar wordcount
Usage: wordcount<in> [<in>...] <out>
備注:out是目錄,in 和 out都是HDFS文件


ok冬耿,那我們?cè)傩薷囊幌拢?yarn jar hadoop-mapreduce-examples-2.6.2.jar wordcount /test/mysql-bin.001477 /test/2

運(yùn)行的時(shí)候 查看web界面application項(xiàng)   
http://10.0.140.78:8088舌菜,可以看到正在運(yùn)行的application

看下結(jié)果:
hdfs dfs -lsr/test
hdfs dfs -cat  /test/2/part-r-00000

至此我們APACHE HADOOP 4臺(tái)服務(wù)器集群已經(jīng)搭建完畢了。
博主正在做一個(gè)500臺(tái) CDH HADOOP集群的項(xiàng)目亦镶,關(guān)于更多spark日月、HIVE袱瓮、YARN 的更多用法會(huì)在下面CDH相關(guān)文章內(nèi)進(jìn)行詳細(xì)介紹

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市爱咬,隨后出現(xiàn)的幾起案子尺借,更是在濱河造成了極大的恐慌,老刑警劉巖精拟,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燎斩,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡串前,警方通過查閱死者的電腦和手機(jī)瘫里,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門实蔽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)荡碾,“玉大人,你說我怎么就攤上這事局装√秤酰” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵铐尚,是天一觀的道長(zhǎng)拨脉。 經(jīng)常有香客問我,道長(zhǎng)宣增,這世上最難降的妖魔是什么玫膀? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮爹脾,結(jié)果婚禮上帖旨,老公的妹妹穿的比我還像新娘。我一直安慰自己灵妨,他們只是感情好解阅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泌霍,像睡著了一般货抄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朱转,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天蟹地,我揣著相機(jī)與錄音,去河邊找鬼藤为。 笑死怪与,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的凉蜂。 我是一名探鬼主播琼梆,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼性誉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了茎杂?” 一聲冷哼從身側(cè)響起错览,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎煌往,沒想到半個(gè)月后倾哺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刽脖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年羞海,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片曲管。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡却邓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出院水,到底是詐尸還是另有隱情腊徙,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布檬某,位于F島的核電站撬腾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏恢恼。R本人自食惡果不足惜民傻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望场斑。 院中可真熱鬧漓踢,春花似錦、人聲如沸和簸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)锁保。三九已至薯酝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間爽柒,已是汗流浹背吴菠。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浩村,地道東北人做葵。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像心墅,于是被迫代替她去往敵國(guó)和親酿矢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子榨乎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

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