大數(shù)據(jù)學習- Hadoop的快速入門

大數(shù)據(jù)不得不提到最有用的利器Hadoop忠藤,本文最快的方式讓你上手Hadoop珍手,hadoop快速入門准夷,并且有一個感性的認識类溢,也可以當做步驟的快速索引豪嗽,本文解決以下問題:

  • 理解Hadoop是什么
  • Hadoop用于做什么以及怎么用
  • Hadoop使用整體的一個基本流程和結(jié)構(gòu)

理解Hadoop是什么

  1. HADOOP是apache旗下的一套開源軟件平臺

  2. HADOOP提供的功能:利用服務器集群,根據(jù)用戶的自定義業(yè)務邏輯豌骏,對海量數(shù)據(jù)進行分布式處理

  3. HADOOP的核心組件有

    • HDFS(分布式文件系統(tǒng))
    • YARN(運算資源調(diào)度系統(tǒng))
    • MAPREDUCE(分布式運算編程框架)
    • 廣義上來說,HADOOP通常是指一個更廣泛的概念——HADOOP生態(tài)圈
  4. 為什么會有Hadoop呢隐锭?

    1. HADOOP最早起源于Nutch窃躲。Nutch的設(shè)計目標是構(gòu)建一個大型的全網(wǎng)搜索引擎,包括網(wǎng)頁抓取钦睡、索引蒂窒、查詢等功能,但隨著抓取網(wǎng)頁數(shù)量的增加荞怒,遇到了嚴重的可擴展性問題——如何解決數(shù)十億網(wǎng)頁的存儲和索引問題洒琢。
    2. 2003年、2004年谷歌發(fā)表的兩篇論文為該問題提供了可行的解決方案褐桌。
      • 分布式文件系統(tǒng)(GFS)衰抑,可用于處理海量網(wǎng)頁的存儲
      • 分布式計算框架MAPREDUCE,可用于處理海量網(wǎng)頁的索引計算問題荧嵌。
    3. Nutch的開發(fā)人員完成了相應的開源實現(xiàn)HDFS MAPREDUCE呛踊,并從Nutch中剝離成為獨立項目HADOOP砾淌,到2008年1月,HADOOP成為Apache頂級項目谭网,迎來了它的快速發(fā)展期汪厨。

Hadoop用于做什么以及怎么用

Hadoop用于做什么

  1. 云計算是分布式計算、并行計算愉择、網(wǎng)格計算劫乱、多核計算、網(wǎng)絡存儲锥涕、虛擬化衷戈、負載均衡等傳統(tǒng)計算機技術(shù)和互聯(lián)網(wǎng)技術(shù)融合發(fā)展的產(chǎn)物。借助IaaS(基礎(chǔ)設(shè)施即服務)站楚、PaaS(平臺即服務)脱惰、SaaS(軟件即服務)等業(yè)務模式,把強大的計算能力提供給終端用戶窿春。
  2. 現(xiàn)階段拉一,云計算的兩大底層支撐技術(shù)為“虛擬化”和“大數(shù)據(jù)技術(shù)
  3. 而HADOOP則是云計算的PaaS層的解決方案之一,并不等同于PaaS旧乞,更不等同于云計算本身蔚润。

Hadoop怎么用

  1. 上面提過其實HADOOP是一個很大的生態(tài)圈,既然是生態(tài)圈就有很多重要的組件:

    • HDFS:分布式文件系統(tǒng)
    • MAPREDUCE:分布式運算程序開發(fā)框架
    • HIVE:基于大數(shù)據(jù)技術(shù)(文件系統(tǒng)+運算框架)的SQL數(shù)據(jù)倉庫工具
    • HBASE:基于HADOOP的分布式海量數(shù)據(jù)庫
    • ZOOKEEPER:分布式協(xié)調(diào)服務基礎(chǔ)組件
    • Mahout:基于mapreduce/spark/flink等分布式運算框架的機器學習算法庫
    • Oozie:工作流調(diào)度框架
    • Sqoop:數(shù)據(jù)導入導出工具
    • Flume:日志數(shù)據(jù)采集框架
      (上述的使用方法以后會慢慢補上去尺栖,挖個坑)
  2. Hadoop的集群搭建

    說道Hadoop的集群搭建嫡纠,就是將所需要的核心組件搭建起來理疙,Hadoop集群包含兩個重要集群:HDFS集群YARN集群

    • HDFS集群:負責海量數(shù)據(jù)的存儲畜挨,集群中的角色主要有NameNode / DataNode

    • YARN集群:負責海量數(shù)據(jù)運算時的資源調(diào)度,集群中的角色主要有 ResourceManager /NodeManager

    注意:那mapreduce是什么呢胖烛?它其實是一個應用程序開發(fā)包挫以,主要負責業(yè)務邏輯開發(fā)者蠕。

本集群搭建案例,以5節(jié)點為例進行搭建掐松,角色分配如下:

 > hdp-node-01    NameNode SecondaryNameNode(HDFS)
 >
 > hdp-node-02    ResourceManager (YARN)
 >
 > hdp-node-03    DataNode    NodeManager   (HDFS)
 >
 > hdp-node-04    DataNode    NodeManager   (HDFS)
 >
 > hdp-node-05    DataNode    NodeManage    r(HDFS)

部署圖如下:


集群搭建案例

因為模擬可以使用模擬器踱侣,模擬五臺linux服務器,細節(jié)忽略大磺。
Hadoop 安裝部署抡句,保證每臺的linux均有Hadoop的安裝包:

  • 規(guī)劃安裝目錄: /home/hadoop/apps/hadoop-2.6.1

  • 修改基本配置Haddop文件: $HADOOP_HOME/etc/hadoop/
    相應的Hadoop最簡配置如下:

    • Hadoop-env.sh

      # The java implementation to use.
      export JAVA_HOME=/home/hadoop/apps/jdk1.8
      
    • core-site.xml

      <configuration>
       <property>
           <name>fs.defaultFS</name>
           <value>hdfs://hdp-node-01:9000</value>
       </property>
       <property>
           <name>hadoop.tmp.dir</name>
           <value>/home/HADOOP/apps/hadoop-2.6.1/tmp</value>
       </property>
      </configuration>
      
    • hdfs-site.xml

      <configuration>
       <property>
           <name>dfs.namenode.name.dir</name>
           <value>/home/hadoop/data/name</value>
       </property>
       <property>
           <name>dfs.datanode.data.dir</name>
           <value>/home/hadoop/data/data</value>
       </property>
      
       <property>
           <name>dfs.replication</name>
           <value>3</value>
       </property>
      
       <property>
           <name>dfs.secondary.http.address</name>
           <value>hdp-node-01:50090</value>
       </property>
      </configuration>
      
    • mapred-site.xml

      <configuration>
       <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
       </property>
      </configuration>
      
    • yarn-site.xml

      <configuration>
       <property>
           <name>yarn.resourcemanager.hostname</name>
           <value>hadoop01</value>
       </property>
      
       <property>
           <name>yarn.nodemanager.aux-services</name>
           <value>mapreduce_shuffle</value>
       </property>
      </configuration>
      

    注意:五臺linux配置應該相同,這里使用的hadoop2.6.1根據(jù)自己用的來修改

啟動集群

在終端中執(zhí)行:

#初始化HDFS
bin/hadoop  namenode  -format

#啟動HDFS
bin/start-dfs.sh

#啟動YARN
bin/start-yarn.sh

測試

1杠愧、上傳文件到HDFS

從本地上傳一個文本文件到hdfs的/wordcount/input目錄下

終端代碼:

[HADOOP@hdp-node-01 ~]$ HADOOP fs -mkdir -p /wordcount/input
[HADOOP@hdp-node-01 ~]$ HADOOP fs -put /home/HADOOP/somewords.txt  /wordcount/input

?

2待榔、運行一個mapreduce程序

在HADOOP安裝目錄下,運行一個示例mr程序:

cd $HADOOP_HOME/share/hadoop/mapreduce/
hadoop jar mapredcue-example-2.6.1.jar wordcount /wordcount/input  /wordcount/output 

注意:example是hadoop自帶的程序用于測試是否搭建成功

Hadoop的數(shù)據(jù)處理流程

典型的BI系統(tǒng)流程圖如下:

?
BI系統(tǒng)流程圖

如圖所示殴蹄,雖然所用技術(shù)也許會有不同究抓,但是流程基本如圖所示:

  1. 數(shù)據(jù)采集:定制開發(fā)采集程序猾担,或使用開源框架FLUME

  2. 數(shù)據(jù)預處理:定制開發(fā)mapreduce程序運行于hadoop集群

  3. 數(shù)據(jù)倉庫技術(shù):基于hadoop之上的Hive

  4. 數(shù)據(jù)導出:基于hadoop的sqoop數(shù)據(jù)導入導出工具

  5. 數(shù)據(jù)可視化:定制開發(fā)web程序或使用kettle等產(chǎn)品

  6. 整個過程的流程調(diào)度:hadoop生態(tài)圈中的oozie工具或其他類似開源產(chǎn)品

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市刺下,隨后出現(xiàn)的幾起案子绑嘹,更是在濱河造成了極大的恐慌,老刑警劉巖橘茉,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件工腋,死亡現(xiàn)場離奇詭異,居然都是意外死亡畅卓,警方通過查閱死者的電腦和手機擅腰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翁潘,“玉大人趁冈,你說我怎么就攤上這事“萋恚” “怎么了渗勘?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長俩莽。 經(jīng)常有香客問我旺坠,道長,這世上最難降的妖魔是什么扮超? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任取刃,我火速辦了婚禮,結(jié)果婚禮上出刷,老公的妹妹穿的比我還像新娘璧疗。我一直安慰自己,他們只是感情好馁龟,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布病毡。 她就那樣靜靜地躺著,像睡著了一般屁柏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上有送,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天淌喻,我揣著相機與錄音,去河邊找鬼雀摘。 笑死裸删,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的阵赠。 我是一名探鬼主播涯塔,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼肌稻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了匕荸?” 一聲冷哼從身側(cè)響起爹谭,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎榛搔,沒想到半個月后诺凡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡践惑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年腹泌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尔觉。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡凉袱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出侦铜,到底是詐尸還是另有隱情专甩,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布泵额,位于F島的核電站配深,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嫁盲。R本人自食惡果不足惜篓叶,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望羞秤。 院中可真熱鬧缸托,春花似錦、人聲如沸瘾蛋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哺哼。三九已至佩抹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間取董,已是汗流浹背棍苹。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茵汰,地道東北人枢里。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親栏豺。 傳聞我的和親對象是個殘疾皇子彬碱,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

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

  • 之前的有點忘記了,這里在云筆記拿出來再玩玩.看不懂的可以留言 大家可以嘗試下Ambari來配置Hadoop的相關(guān)環(huán)...
    HT_Jonson閱讀 2,958評論 0 50
  • 看到題目有沒有一種高大上的感覺?毛線奥洼,當前是個人巷疼、是個公司都在說自己搞大數(shù)據(jù),每天沒有幾個PB的數(shù)據(jù)入庫溉卓,每天沒有...
    丁小晶的晶小丁閱讀 4,474評論 0 50
  • HDFS的體系結(jié)構(gòu) 設(shè)計目標 自動快速檢測應對硬件錯誤 流式訪問數(shù)據(jù) 轉(zhuǎn)移計算本身比轉(zhuǎn)移數(shù)據(jù)更加劃算 簡單的數(shù)據(jù)一...
    Spike_3154閱讀 921評論 0 2
  • 一部好的電影皮迟,可以改變你對世界的看法。
    林曦雪閱讀 298評論 0 0
  • 在拉姆斯大草原上桑寨,所有的小兔子都會笑伏尼,都知道歡樂、快樂是什么尉尾。只有一支叫貝拉.漢姆的兔子例外爆阶。他的毛色跟別的兔子都...
    成英_60f7閱讀 650評論 1 1