Hadoop 框架學習筆記之總體認知

Hadoop 框架學習筆記

  • 大數據技術解決什麼問題?

    主要解決海量數據存儲和計算。web

  • Hadoop的廣義和狹義之分?

    狹義:Hadoop 由三部分組成:HDFS:分佈式文件系統存儲 MapReduce:分佈式離線計算框架 YARN:資源調度框架算法

    廣義:不只是Hadoop框架,以外還有周邊框架,好比 Flume:日誌數據採集;Sqoop:關係型數據庫的採集、導出;Hive:深度依賴Hadoop框架完成計算(SQL) Hbase:大數據領域的數據庫spring

    廣義的Hadoop是一個大數據生態圈。數據庫

大數據簡介

大數據的定義

大數據是指沒法在必定時間範圍內用常規的軟件工具進行捕捉,管理和處理數據集合,是須要新處理方法,纔能有更強的決策力、洞察發現力和流程化能力的海量、高增加率和多樣化的信息資產。apache

大數據的特色

大數據的特色能夠用IBM 曾經提出的 「5V」來描述,以下:後端

Volume Velocity Variety Veracity Value服務器

  • 大量

    採集、存儲和計算的數據量都很是大。網絡

    計算機存儲單位通常用B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB來表示,換算關係:架構

    1GB = 1024MB框架

    1TB = 1024GB

    1PB = 1024TB

    1EB = 1024PB

    1ZB = 1024EB

    1YB = 1024ZB

    1BB = 1024YB

    1NB = 1024BB

    1DB = 1024NB

以PB爲例,PB級別數據量有多大?是怎樣的一個概念?

假如手機播放MP3每分鐘1MB,而1首歌曲的平均時長爲4分鐘,那麼1PB存量的歌曲能夠存放2000年。

1PB 至關於50%的全美學術研究圖書館書諮詢內容。

(1)1986年,全球只有0.02EB也就是約21000TB的數據量

(2)2007 年,全球也就280EB,也就是約300000000的數據量,翻了14000倍

(3)這些年,因爲移動互聯網以及物聯網的出現,各類終端設備接入,各類業務形式的普及,平均每40個月,全球的數據量就會翻倍!2012年,天天會產生2.5EB的數據量;

(4)基於IDC的報告預測,從2013年到2020年,全球數據量會從4.42ZB猛增長到44ZB!到了2025年,全球會有163ZB的數據量!全球的數據量已經大到爆炸了!傳統的關係型數據庫根本處理不了如此海量的數據!

  • 高速

    在大數據時代,數據的建立、存儲、分析都要求高速處理,好比電商網站的個性化推薦儘量要求實時完成推薦,這也是大數據區別於傳統的數據挖掘的顯著特徵。

  • 多樣

    數據形式和來源多樣化,包括結構化、半結構化和非結構化數據,具體表現爲網絡日誌、音頻、視頻、圖片、地理位置信息等等,多類型的數據對數據的處理能力提出了更高的要求。

  • 真實

    確保數據的真實性,才能保證數據分析的正確性。

  • 低價值

    數據價值密度相對較勁,或者說是浪裏淘沙卻又彌足珍貴。互聯網發展催生了大量的數據,信息海量,可是價值密度較低,如何結合業務邏輯並經過強大的機會來進行機器算法來挖掘數據價值,是大數據時代須要解決的問題,也是一個有難度的課題。

大數據的應用場景

隨着大數據的發展,大數據技術已經普遍應用在衆多行業,好比倉儲物流、電商零售、汽車、電信、生物醫學、人工智能、智慧城市等領域。包括在疫情防護中,大數據技術也發揮了重要的做用。

Hadoop 簡介

什麼是Hadoop?

Hadoop 是一個適合大數據的分佈式存儲和計算平臺。

如前所屬,狹義說Hadoop就是一個框架平臺,廣義上將Hadoop表明大數據的一個技術生態圈,包括不少其餘軟件框架。

Hadoop生態圈技術棧

  • Hadoop(HDFS+MapReduce+Yarn)
  • Hive數據倉庫工具
  • HBase 海量列式非關係型數據庫
  • Flume 數據採集工具
  • Sqoop ETL 工具
  • Kafka 高吞吐消息中間件

Hadoop 的起源

Hadoop 的發展歷程能夠用以下過程概述:

Nutch -----> Google 論文(GFS、Mapreduce)

​ -----> Hadoop產生

​ ------> 成爲Apache頂級項目

​ ------> Cloudera 公司成立(Hadoop快速發展)

  • Hadoop 最先起源於Nutch , Nutch 的創始人是Doug Cutting

    Nutch 是一個開源Java 實現的搜索引擎,它提供了咱們運行本身的搜索引擎所需的所有工具。包括全文搜索和Web爬蟲,可是隨着抓取網頁數量的增長,遇到了嚴重的可擴展性的問題--如何解決數十億級別網頁的存儲和索引問題。

  • 2003 年、2004 年穀歌發表的兩篇論文爲該問題提供了可行的解決方法,GFS,用於處理海量網頁的存儲;Mapreduce,可用於處理海量網頁的索引計算問題。

Google 的三篇論文(三駕馬車)

GFS:Google的分佈式文件系統(Google File System)

Mapreduce: Google的分佈式計算框架

Bigtable:大型分佈式數據庫

發展演變關係:

GFS-->HDFS

Google Mapreduce ---> Hadoop Mapreduce

Bigtable --> Hbase

  • 隨後,Google公佈了部分GFS和Mapreduce思想的細節,Doug Cutting等人用2年的業餘時間實現了GFS和Mapreduce機制,使Nutch性能飆升。
  • 2005 年,Hadoop做爲Lucene的子項目Nutch的一部分引入Apache
  • 2006年,Hadoop從Nutch剝離出來獨立
  • 2008年,Hadoop成爲Apache的頂級項目

    Hadoop這個名字來源於Doug Cutting兒子的毛絨玩具象

Hadoop的特色

  • 擴容能力

Hadoop是在計算機集羣內分配數據並完成計算任務,集羣能夠方便的擴展數千個節點;

  • 低成本

Hadoop 經過普通廉價的機器組成服務器集羣來分發以及處理數據,以致於成本很低;

  • 高效率

Hadoop 能夠在節點以前動態並行的移動數據,使得速度很是快

  • 可靠性

能自動維護數據的多份複製,而且在任務失敗後能自動的從新部署計算任務。

Hadoop的發行版本

目前Hadoop發行版本很是多,有Cloudera發行版、Hortonworks發行版、華爲發行版、Intel 發行版,全部這些發行版均是基於Apache Hadoop 衍生出來的,之因此這麼多版本,是由Apache Hadoop的開源協議決定的(任何人能夠對其進行修改,而且做爲開源或者商業產品發佈/銷售)

企業總主要用到的三個版本分別是:Apache Hadoop版本(最原始的,全部發行版均基於這個版本進行改進)、Cloudera版本(Cloudera's Distribution Including Apache Hadoop,簡稱"CDH")、Hortonworks版本(Hortonworks Data Platform,簡稱」HDP「)。

  • Apache Hadoop 原始版本

官網地址:http://hadoop.apache.org/

優勢:擁有全世界的貢獻,代碼更新比較快

缺點:版本的升級,版本的維護,以及維護之間的兼容性,學習很是方便

Apache Hadoop全部軟件的下載地址(包括各類歷史版本):http://archive/apache.org/dist/

  • 軟件收費版本CouderaManager CDH版本---生產環境使用

官網地址:http://ww.cloudera.com

Cloudera 主要是美國一家大數據公司在Apache開源的Hadoop版本上,經過本身的公司內部的各類補丁,實現版本之間的穩定運行,大數據生態圈的各個版本的軟件都提供了對應的版本,解決了版本的升級困惑,版本兼容性等各類問題,生產換寄給你強烈推薦使用。

  • 免費開源版本HortonWorks HDP版本 -- 生產環境使用

官網地址:http://hortonworks.com

hortonworks 主要是雅虎主導的Hadoop開發的副總裁,帶領二十幾個核心成員以Hortonworks,核心產品軟件HDP(ambari),HDF免費開源,整套的web管理界面,供咱們能夠經過web界面管理咱們的集羣狀態,web管理界面軟件HDF網址:http://ambari.apache.org/

Apache Hadoop版本更迭

0.x 系列版本:Hadoop當中最先的一個開源版本,在此基礎上演變而來的1.x以及2.x的版本

1.x系列版本:Hadoop版本當中的第二代開源版本,主要修復0.x版本的一些bug;

2.x系列版本:架構產生重大變化,引入了yarn平臺等新特性

3.x系列版本:EC技術、YARN的時間軸服務新特性

Hadoop 的優缺點

Hadoop 的優勢

  • Hadoop具備存儲和處理數據能力的高可用性
  • Hadoop經過可用的計算機集羣分配數據,完成存儲和計算任務,這些集羣能夠方便的擴展到數以千計的節點中,具備高擴展性。
  • Hadoop可以在節點之間進行移動數據,並保證各個節點的動態平衡,處理速度很是快,具備高效性。
  • Hadoop 可以自動存儲數據的多個副本,而且可以自動將失敗的任務沖洗分配,絕具備高容錯性。

Hadoop 的缺點

  • Hadoop不適用於低延遲的數據訪問
  • Hadoop不能高效存儲大量小文件
  • Hadoop 不支持多用戶寫入並任意修改文件

● Spring事務的坑都給你總結好了!!!

● API網關正在經歷身份危機

● 後端生成Token架構與設計詳解

● Hadoop 框架學習筆記之總體認知

關注公衆號,回覆「spring」有驚喜!!!

若是資源對你有幫助的話

本文由博客一文多發平臺 OpenWrite 發佈!
相關文章
相關標籤/搜索