標籤:

Hadoop的了解

Hadoop的概念第一次看到是從公司的招聘要求中看到,從概念上說就是一種分散式計算的方式。之後在《機器學習》這本書的第15章中第一次詳細的了解到什麼是hadoop,把書中的一些經典的語句以及自己的理解,摘錄如下,希望可以給初學者有所幫助。

Hadoop是MapReduce框架的一個免費的開源實現,所以需要首先了解什麼是MapReduce架構。

MapReduce:

  • 一個軟體架構,將單個計算作業分配給多台計算機執行
  • 專利在與google公司的jeffery dean and sanjay chemawat在2004年首次提出

在大量的節點組成的集群上運行,工作流程如下

  1. 主節點負責吧單個作業分成很多份,輸入數據也被切片分發給每個節點
  2. 各個節點只在本地數據上做運算,這個過程稱為map過程,節點稱為mapper
  3. 輸出按照某族方式進行排列組合,再被分成小份分發到下一個節點(reducer)
  4. reducer的輸出就是程序的最終輸出

需要注意的是

  • mapper或reducer之間不會通信
  • 只有主節點負責與其通信
  • 數據在多個節點存在方式一個節點宕機,數據出現損壞
  • 每個節點都需要保持與主節點之間的通信,一旦失效或者工作異常,主節點就會重啟該節點

HADOOP

  1. 一個開源的java項目
  2. 為運行mapreduce作業提供了大量所需要的功能
  3. 提供分散式計算
  4. 自帶分散式文件系統

hadoop流:類似Linux系統中管道的概念,講一個命令的輸出作為另外一個命令的輸入

項目實現

1、自己購置多台伺服器

2、在Amazon上購買相應的伺服器服務


推薦閱讀:

Azkaban入門篇
知識篇:新一代的數據處理平台Hadoop簡介
開發人員學Linux(14):CentOS7安裝配置大數據平台Hadoop2.9.0
Hadoop實現了雲計算中的哪些構件,又有哪些構件是沒有實現的,用Hadoop可以搭建一個完整的雲計算平台么?
五分鐘深入 Hadoop 內核

TAG:Hadoop |