Hadoop的了解
05-09
Hadoop的概念第一次看到是從公司的招聘要求中看到,從概念上說就是一種分散式計算的方式。之後在《機器學習》這本書的第15章中第一次詳細的了解到什麼是hadoop,把書中的一些經典的語句以及自己的理解,摘錄如下,希望可以給初學者有所幫助。
Hadoop是MapReduce框架的一個免費的開源實現,所以需要首先了解什麼是MapReduce架構。
MapReduce:
- 一個軟體架構,將單個計算作業分配給多台計算機執行
- 專利在與google公司的jeffery dean and sanjay chemawat在2004年首次提出
在大量的節點組成的集群上運行,工作流程如下
- 主節點負責吧單個作業分成很多份,輸入數據也被切片分發給每個節點
- 各個節點只在本地數據上做運算,這個過程稱為map過程,節點稱為mapper
- 輸出按照某族方式進行排列組合,再被分成小份分發到下一個節點(reducer)
- reducer的輸出就是程序的最終輸出
需要注意的是
- mapper或reducer之間不會通信
- 只有主節點負責與其通信
- 數據在多個節點存在方式一個節點宕機,數據出現損壞
- 每個節點都需要保持與主節點之間的通信,一旦失效或者工作異常,主節點就會重啟該節點
HADOOP
- 一個開源的java項目
- 為運行mapreduce作業提供了大量所需要的功能
- 提供分散式計算
- 自帶分散式文件系統
hadoop流:類似Linux系統中管道的概念,講一個命令的輸出作為另外一個命令的輸入
項目實現
1、自己購置多台伺服器
2、在Amazon上購買相應的伺服器服務
推薦閱讀:
※Azkaban入門篇
※知識篇:新一代的數據處理平台Hadoop簡介
※開發人員學Linux(14):CentOS7安裝配置大數據平台Hadoop2.9.0
※Hadoop實現了雲計算中的哪些構件,又有哪些構件是沒有實現的,用Hadoop可以搭建一個完整的雲計算平台么?
※五分鐘深入 Hadoop 內核
TAG:Hadoop |