大數(shù)據(jù)之Hadoop

????????????????????????大數(shù)據(jù)之Hadoop入門


一幼苛、Hadoop特點(diǎn)

????????????????volume(大量) velocity(高速) variable(多樣) value(低價(jià)值密度)

二赌厅、Hadoop優(yōu)勢(shì):

1.高可靠性--hadoop底層維護(hù)多個(gè)數(shù)據(jù)版本咆霜,所以即使Hadoop某個(gè)計(jì)算元素或存儲(chǔ)出現(xiàn)故障邓馒,也不會(huì)導(dǎo)致數(shù)據(jù)丟失。

2.高擴(kuò)展性--在集群間分配任務(wù)數(shù)據(jù)裕便,可方便的擴(kuò)展數(shù)以千計(jì)的節(jié)點(diǎn)绒净。

3.高效性--在MapReduce的思想下,hadoop是并行工作的偿衰,以加快任務(wù)處理速度挂疆。

4.高容錯(cuò)性--能夠自動(dòng)將失敗的任務(wù)重新分配。

三下翎、Hadoop的組成:

1. Hadoop1.x VS Hadoop2.x

hadoop1.x是由 MapReduce(計(jì)算+資源調(diào)度) HDFS(數(shù)據(jù)存儲(chǔ)) common(輔助工具) 組成

hadoop2.x是由 MapReduce(計(jì)算) Yarn(資源調(diào)度) HDFS(數(shù)據(jù)存儲(chǔ)) common(輔助工具) 組成

區(qū)別:兩者沒(méi)有太大區(qū)別缤言,只是2.x增加了Yarn,Yarn在2.x中只負(fù)責(zé)資源調(diào)度 MapReduce則只負(fù)責(zé)運(yùn)算

2. HDFS架構(gòu)

01.NameNode(nn):存儲(chǔ)文件的元數(shù)據(jù)视事,如文件名胆萧、文件目錄結(jié)構(gòu)、文件屬性俐东、以及每個(gè)文件的塊列表和塊所在的DataNode等跌穗。

02.DataNode(dn):在本地文件系統(tǒng)存儲(chǔ)塊數(shù)據(jù),以及塊數(shù)據(jù)的校驗(yàn)和虏辫。

03.SecondaryNameNdoe(2nn):用來(lái)監(jiān)控HDFS狀態(tài)的輔助后臺(tái)程序蚌吸,每隔一段時(shí)間獲取HDFS元數(shù)據(jù)的快照。

YARN架構(gòu)

01.ResourceManager(RM)主要作用

1.處理客戶端請(qǐng)求

2.監(jiān)控NodeManager

3.啟動(dòng)或監(jiān)控ApplicationMaster

4.資源的分配與調(diào)度

02.NodeManager(NM)主要作用

1.管理單個(gè)節(jié)點(diǎn)上的資源

2.處理來(lái)自ResourceManager的命令

3.處理來(lái)自ApplicationMaster的命令

03.ApplicationMaster(AM)主要作用

1.負(fù)責(zé)數(shù)據(jù)的切分

2.為應(yīng)用程序申請(qǐng)資源并分配給內(nèi)部的任務(wù)

3.任務(wù)的監(jiān)控與容錯(cuò)

04.Container

Container是YARN中的資源抽象砌庄,它封裝了某個(gè)節(jié)點(diǎn)上多維度資源羹唠,如(內(nèi)存、CPU娄昆、磁盤佩微、網(wǎng)絡(luò))等。

YARN工作機(jī)制

(0)Mr程序提交到客戶端所在的節(jié)點(diǎn)

(1)Yarnrunner向Resourcemanager申請(qǐng)一個(gè)Application萌焰。

(2)rm將該應(yīng)用程序的資源路徑返回給yarnrunner

(3)該程序?qū)⑦\(yùn)行所需資源提交到HDFS上

(4)程序資源提交完畢后哺眯,申請(qǐng)運(yùn)行mrAppMaster

(5)RM將用戶的請(qǐng)求初始化成一個(gè)task

(6)其中一個(gè)NodeManager領(lǐng)取到task任務(wù)。

(7)該NodeManager創(chuàng)建容器Container扒俯,并產(chǎn)生MRAppmaster

(8)Container從HDFS上拷貝資源到本地

(9)MRAppmaster向RM 申請(qǐng)運(yùn)行maptask容器

(10)RM將運(yùn)行maptask任務(wù)分配給另外兩個(gè)NodeManager奶卓,另兩個(gè)NodeManager分別領(lǐng)取任務(wù)并創(chuàng)建容器。

(11)MR向兩個(gè)接收到任務(wù)的NodeManager發(fā)送程序啟動(dòng)腳本陵珍,這兩個(gè)NodeManager分別啟動(dòng)maptask寝杖,maptask對(duì)數(shù)據(jù)分區(qū)排序。

(12)MRAppmaster向RM申請(qǐng)2個(gè)容器互纯,運(yùn)行reduce task瑟幕。

(13)reduce task向maptask獲取相應(yīng)分區(qū)的數(shù)據(jù)。

(14)程序運(yùn)行完畢后,MR會(huì)向RM注銷自己只盹。

四辣往、Hadoop環(huán)境搭建

1. 安裝好linux

2. *安裝VMTools

3. 關(guān)閉防火墻

sudo service iptables stop

sudo chkconfig iptables off

4. 設(shè)置靜態(tài)IP,改主機(jī)名

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

改成

=================================

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=static

NAME="eth0"

IPADDR=192.168.5.101

PREFIX=24

GATEWAY=192.168.5.2

DNS1=192.168.5.2

=================================

編輯vim /etc/sysconfig/network

改HOSTNAME=那一行

5. 配置/etc/hosts

vim /etc/hosts

=============================

192.168.75.100? hadoop100

192.168.75.101? hadoop101

192.168.75.102? hadoop102

=============================

6. 創(chuàng)建一個(gè)一般用戶jinghang殖卑,給他配置密碼

useradd jinghang

passwd jinghang

7. 配置這個(gè)用戶為sudoers

vim /etc/sudoers

在root? ? ALL=(ALL)? ? ? ALL

添加jinghang? ? ALL=(ALL)? ? ? NOPASSWD:ALL

保存時(shí)wq!強(qiáng)制保存

8. *在/opt目錄下創(chuàng)建兩個(gè)文件夾module和software站削,并把所有權(quán)賦給jinghang

mkdir /opt/module /opt/software

chown jinghang:jinghang /opt/module /opt/software

五、Hadoop運(yùn)行模式

Hadoop運(yùn)行模式包括:本地模式孵稽、偽分布式模式以及完全分布式模式许起。

1.本地模式:不需要啟用單獨(dú)進(jìn)程,直接可以運(yùn)行菩鲜,測(cè)試和開(kāi)發(fā)時(shí)使用园细。

2.偽分布模式:等同于完全分布式,只有一個(gè)節(jié)點(diǎn)接校。

3.完全分布式模式:多個(gè)節(jié)點(diǎn)一起運(yùn)行猛频。

????????????????????????大數(shù)據(jù)之Hadoop(HDFS)

一、HDFS組成架構(gòu)

1. NameNode(nn)就是Master 他是一個(gè)主管蛛勉,管理者

01.管理HDFS的名稱空間

02.配置副本策略

03.管理數(shù)據(jù)塊(Block)映射信息

04.處理客戶端讀寫請(qǐng)求

2. DataNode:就是Slave,NameNode下達(dá)命令鹿寻,DataNode執(zhí)行實(shí)際的操作

01.存儲(chǔ)實(shí)際的數(shù)據(jù)塊

02.執(zhí)行數(shù)據(jù)塊的讀寫操作

二、HDFS優(yōu)缺點(diǎn)

1. 優(yōu)點(diǎn)

01.高容錯(cuò)性

001.數(shù)據(jù)自動(dòng)保存多個(gè)副本诽凌,他通過(guò)增加多個(gè)副本的形式毡熏,提高容錯(cuò)性。

002.某一個(gè)副本丟失后皿淋,它可以自動(dòng)恢復(fù)

02.適合處理大數(shù)據(jù)

01.數(shù)據(jù)規(guī)模:能夠處理數(shù)據(jù)規(guī)模達(dá)到GB招刹、TB甚至PB級(jí)別的數(shù)據(jù)

02.文件規(guī)模:能夠處理百萬(wàn)規(guī)模以上的文件數(shù)量恬试,數(shù)量相當(dāng)之大

03.可構(gòu)建在廉價(jià)機(jī)器上窝趣,通過(guò)多副本機(jī)制,提高可靠性

2. 缺點(diǎn)

01.不適合低延時(shí)數(shù)據(jù)訪問(wèn)训柴,比如毫秒級(jí)的存儲(chǔ)數(shù)據(jù)哑舒,是做不到的

02.無(wú)法高效的對(duì)大量小文件進(jìn)行存儲(chǔ)

001.存儲(chǔ)大量小文件的話,它會(huì)占用NameNode大量的內(nèi)存來(lái)存儲(chǔ)文件目錄和塊信息幻馁,這樣是不可取的因?yàn)镹ameNode的內(nèi)存是有限的洗鸵。

002.小文件存儲(chǔ)的尋址時(shí)間會(huì)超過(guò)讀取時(shí)間,它違反了HDFS的設(shè)計(jì)目標(biāo)

03.不支持并發(fā)寫入仗嗦,文件隨機(jī)修改

001.同一時(shí)間一個(gè)文件只能有一個(gè)用戶執(zhí)行寫操作膘滨,不允許多個(gè)線程同時(shí)寫。

002.僅支持?jǐn)?shù)據(jù)append(追加)稀拐,不支持文件隨機(jī)修改

三火邓、HDFS的塊大小

1.HDFS中的文件在物理上是分塊存儲(chǔ)(Block),塊的大小可以通過(guò)配置參數(shù)(dfs.blocksize)來(lái)規(guī)定,默認(rèn)大小在Hadoop2.x版本中是128M铲咨,老版本是64M

2.為什么塊大小不能設(shè)置調(diào)小躲胳,也不能設(shè)置太大?

01.HDFS的塊設(shè)置太小纤勒,會(huì)增加尋址時(shí)間坯苹,程序一直在找塊的開(kāi)始位置

02.HDFS的塊設(shè)置太大,從磁盤傳輸數(shù)據(jù)的時(shí)間會(huì)太明顯大于定位這個(gè)塊開(kāi)始位置所需的時(shí)間摇天,導(dǎo)致程序在處理這個(gè)塊數(shù)據(jù)時(shí)粹湃,會(huì)非常慢

四、HDFS的Shell的操作

1. shell命令操作

-help 功能:輸出這個(gè)命令參數(shù)手冊(cè)

-ls 功能:顯示目錄信息

示例: hadoop fs -ls hdfs://hadoop-server01:9000/

備注:這些參數(shù)中泉坐,所有的hdfs路徑都可以簡(jiǎn)寫

-->hadoop fs -ls /? 等同于上一條命令的效果

-mkdir 功能:在hdfs上創(chuàng)建目錄

示例:hadoop fs? -mkdir? -p? /aaa/bbb/cc/dd

-moveFromLocal(這里的本地為虛擬機(jī)本地再芋,千萬(wàn)別以為是電腦本機(jī)的本地) 功能:從本地剪切粘貼到hdfs

示例:hadoop? fs? - moveFromLocal? /home/hadoop/a.txt? /aaa/bbb/cc/dd

-moveToLocal 功能:從hdfs剪切粘貼到本地

示例:hadoop? fs? - moveToLocal? /aaa/bbb/cc/dd? /home/hadoop/a.txt

--appendToFile 功能:追加一個(gè)文件到已經(jīng)存在的文件末尾

示例:hadoop? fs? -appendToFile? ./hello.txt? hdfs://hadoop-server01:9000/hello.txt

-cat 功能:顯示文件內(nèi)容?

示例:hadoop fs -cat? /hello.txt

-tail 功能:顯示一個(gè)文件的末尾

示例:hadoop? fs? -tail? /weblog/access_log.1

-text 功能:以字符形式打印一個(gè)文件的內(nèi)容

示例:hadoop? fs? -text? /weblog/access_log.1

-chgrp

-chmod

-chown 功能:linux文件系統(tǒng)中的用法一樣,對(duì)文件所屬權(quán)限

示例:hadoop fs -chmod 666 /hello.txt hadoop fs -chown someuser:somegrp? /hello.txt

-copyFromLocal 功能:從本地文件系統(tǒng)中拷貝文件到hdfs路徑去

示例:hadoop? fs? -copyFromLocal? ./jdk.tar.gz? /aaa/

-copyToLocal 功能:從hdfs拷貝到本地

示例:hadoop fs -copyToLocal /aaa/jdk.tar.gz

-cp 功能:從hdfs的一個(gè)路徑拷貝hdfs的另一個(gè)路徑

示例: hadoop? fs? -cp? /aaa/jdk.tar.gz? /bbb/jdk.tar.gz.2

-mv? 功能:在hdfs目錄中移動(dòng)文件

示例: hadoop? fs? -mv? /aaa/jdk.tar.gz? /

-get 功能:等同于copyToLocal坚冀,就是從hdfs下載文件到本地

示例:hadoop fs -get? /aaa/jdk.tar.gz

-getmerge 功能:合并下載多個(gè)文件

示例:比如hdfs的目錄 /aaa/下有多個(gè)文件:log.1, log.2,log.3,... hadoop fs -getmerge /aaa/log.* ./log.sum

-put 功能:等同于copyFromLocal

示例:hadoop? fs? -put? /aaa/jdk.tar.gz? /bbb/jdk.tar.gz.2

-rm 功能:刪除文件或文件夾

示例:hadoop fs -rm -r /aaa/bbb/

-rmdir 功能:刪除空目錄

示例:hadoop? fs? -rmdir? /aaa/bbb/ccc

-df 功能:統(tǒng)計(jì)文件系統(tǒng)的可用空間信息

示例:hadoop? fs? -df? -h? /

-du 功能:統(tǒng)計(jì)文件夾的大小信息

示例:hadoop fs -du -s -h /1805c/*

-count 功能:統(tǒng)計(jì)一個(gè)指定目錄下的文件節(jié)點(diǎn)數(shù)量

示例:hadoop fs -count /aaa/

-setrep 功能:設(shè)置hdfs中文件的副本數(shù)量

示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末济赎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子记某,更是在濱河造成了極大的恐慌司训,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件液南,死亡現(xiàn)場(chǎng)離奇詭異壳猜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)滑凉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門统扳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人畅姊,你說(shuō)我怎么就攤上這事咒钟。” “怎么了若未?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵朱嘴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我粗合,道長(zhǎng)萍嬉,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任隙疚,我火速辦了婚禮壤追,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘供屉。我一直安慰自己行冰,他們只是感情好捅厂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著资柔,像睡著了一般焙贷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贿堰,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天辙芍,我揣著相機(jī)與錄音,去河邊找鬼羹与。 笑死故硅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纵搁。 我是一名探鬼主播吃衅,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼腾誉!你這毒婦竟也來(lái)了徘层?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤利职,失蹤者是張志新(化名)和其女友劉穎趣效,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體猪贪,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡跷敬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了热押。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片西傀。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖桶癣,靈堂內(nèi)的尸體忽然破棺而出拥褂,到底是詐尸還是另有隱情,我是刑警寧澤鬼廓,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布肿仑,位于F島的核電站致盟,受9級(jí)特大地震影響碎税,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜馏锡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一雷蹂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杯道,春花似錦匪煌、人聲如沸责蝠。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)霜医。三九已至,卻和暖如春驳规,著一層夾襖步出監(jiān)牢的瞬間肴敛,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工吗购, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留医男,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓捻勉,卻偏偏與公主長(zhǎng)得像镀梭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子踱启,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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