轉載文章——Hadoop學習

来源:http://www.cnblogs.com/zpfbuaa/archive/2016/10/21/5983596.html
-Advertisement-
Play Games

轉載地址:http://www.iteye.com/blogs/subjects/zy19982004?page=2 一.Hadoop社區版和發行版 社區版:我們把Apache社區一直開發的Hadoop稱為社區版。簡單的說就是Apache Hadoophttp://hadoop.apache.org ...


轉載地址:http://www.iteye.com/blogs/subjects/zy19982004?page=2

 

一.Hadoop社區版和發行版

  1. 社區版:我們把Apache社區一直開發的Hadoop稱為社區版。簡單的說就是Apache Hadoophttp://hadoop.apache.org/
  2. 發行版:基於Apache Hadoop的基礎上進行商業改造的解決方案,包含一系列定製的管理工具和軟體。

二.Hadoop社區版版本號

     一直以來,Hadoop的版本號一直困擾著廣大Hadoop愛好者,各版本層出不窮。如果你想使用Apache Hadoop,你必須知道自己要使用哪個版本的Hadoop,搞清楚Hadoop版本號就尤為重要了。

 

三.Hadoop發行版

  •  Cloudera
    • 2009年開始Hadoop,Lutch,Lucene,Solr創始人Doug Cutting任職於Cloudera公司。
    • Cloudera的主要產品是Cloudera Manager(CDH)。
    • CDH3基於Apache Hadoop 0.20.2(簡單理解為Apche Hadoop 1);CDH4基於Apache Hadoop 0.20.3(簡單理解為Apche Hadoop 2),但是它採用新的MapReduce2.0,即Yarm。
  • Hortonworks
    • Hortonworks 2011年成立,由Yahoo於矽谷風投公司Benchmark Capital組成。公司成立的時候吸納了許多原來在Yahoo工作的Hadoop工程師,Apache Hadoop社區70%的代碼是雅虎工程師貢獻的。2006年開始Doug Cutting任職於Yahoo公司。
    • Hortonworks的主要產品是Hortonworks Data Platform(HDP)。
    • HDP主要基於Apache Hadoop 1。
  • MapR
    • 用自己的新架構重寫Hadoop,提供和Apache Hadoop相同的API。
    • NameNode預設存儲三份,不存在NameNode單點故障Single Point Of Failure(SPOF)。
  • IBM
  • 華為
    • 網路,PC,虛擬化方面的硬體實力。
  • Intel
    • Intel的發行版最先進入中國市場。
    • 提供全面的硬體解決方案,針對硬體的性能優化。

 

四.你也可以閱讀以下文檔

  1.  hadoop版本總結http://dijunzheng2008.blog.163.com/blog/static/98959897201210171340254/
  2. 關於Apache Hadoop 1.0 http://f.dataguru.cn/thread-23223-1-1.html
  3. 突破社區版Hadoop各商業發行版比較 http://cloud.chinabyte.com/news/206/12446706.shtml
  4. 如何選擇不同的Hadoop發行版 http://www.searchbi.com.cn/showcontent_70957.htm

 

一.Hadoop來歷

  1.  2004年12月。Google發表了MapReduce論文,MapReduce允許跨伺服器集群,運行超大規模並行計算。Doug Cutting意識到可以用MapReduce來解決Lucene的擴展問題。
  2. Google發表了GFS論文。
  3. Doug Cutting根據GFS和MapReduce的思想創建了開源Hadoop框架。
  4. 2006年1月,Doug Cutting加入Yahoo,領導Hadoop的開發。
  5. Doug Cutting任職於Cloudera公司。
  6. 2009年7月,Doug Cutting當選為Apache軟體基金會董事,2010年9月,當選為chairman。
  7. 各大企業開發自己的發行版,併為Apache Hadoop貢獻代碼。

二.Google-->Apache

    •  Chubby-->ZooKeeper
    • GFS-->HDFS
    • BigTable-->HBase
    • MapReduce-->MapReduce

三.Google論文

四.你也可以閱讀一下文檔

  1. Wiki Doug Cutting http://en.wikipedia.org/wiki/Doug_Cutting
  2. Hadoop源代碼分析一 http://caibinbupt.iteye.com/blog/262412

 

一.NameNode物理文件夾

 

 

二.DataNode物理文件夾

 

 

一.NameNode概述

  •  NameNode存放了所有文件和文件夾的元數據信息
    • 記憶體中:在系統啟動時,會把fsimage和editlog記錄的元數據信息加裝到記憶體中;在系統啟動時,NameNode收集DataNode心跳,在記憶體中形成file->blocks的對應關係。
    • 硬碟上:操作日誌以fsimage和editlog的形式持久化在硬碟上。
  • NameNode分類
    • NameNode,Secondary NameNode。
    • NameNode,Checkpoint Node,Backup NameNode。

二.fsimage editLog

  1. editLog:客戶端對文件系統每次讀寫等操作時,元數據節點首先修改記憶體中的數據結構,然後記錄到editlog中。
  2. fsimage:二進位文件;當editlog達到一定量(fs.checkpoint.size)或者距離上次歸併到fsimage達到一定時間(fs.checkpoint.period)時, editlog會被歸併到fsimage中。此過程被稱為checkpoint。另外一個checkpoint的時間是NameNode啟動時。

三.NameNode + Secondary NameNode

  1. Secondary NameNode通知NameNode準備chekpoint。
  2. NameNode產生edits.new,用來接受checkpoint過程中的editlog。
  3. Secondary NameNode通過http get方式獲取NameNode的fsimage與editlog。
  4. Secondary NameNode開始合併獲取的上述兩個文件,產生一個新的fsimage文件fsimage.ckpt。
  5. Secondary NameNode用http post方式發送fsimage.ckpt至NameNode。
  6. NameNode將fsimage.ckpt與edits.new文件分別重命名為fsimage與edits,然後更新fstime,整個checkpoint過程到此結束。

四.NameNode + Checkpiont NameNode + Backup NameNode

  •  在Hadoop 0.21.0中,Secondary NameNode被Checkpoint NameNode和Backup NameNode取代。
  • Checkpoint NameNode功能同Secondary NameNode,主要作用是合併元數據。
  • Backup NameNode:NameNode實時主動把editlog和fsimage傳送給Backup NameNode,主要作用是備份。但其還不能作熱備,比喻Backup NameNode的記憶體中未保存Block的位置信息,仍需要等DataNode上報。 

五.你也可以閱讀以下文章

  1. http://www.happyang.com/?p=6
  2. http://blog.sina.com.cn/s/blog_7ead58ad0100umd9.html

 

 

一.數據塊

  1. HDFS預設數據塊大小64M。{現在的版本已經是128M,下麵不在修改了}
  2. 文件大於64M,將被分為若幹份64M+其它M存儲;文件小於64M,並不會占用整個64M大小,對於小文件,HDFS提供了幾種解決方案:Hadoop Archive,Sequence file和CombineFileInputFormat,後面看源碼時詳解。

 

二.DataNode

  1.  數據節點是真正存儲數據的地方。
  2. 周期性向NameNode彙報心跳,並帶回NameNode要下達的指令。NameNode並不主動向DataNode發送請求。
  3. DataNode可以作為伺服器,接受客戶端的讀寫請求。
  4. DataNode之間會互相通信,複製數據塊。

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近做一個項目,需要用centos做數據伺服器,用mysql資料庫,就需要安裝mysql資料庫,之前沒接觸過centos,因此什麼也不懂,就從網上也查了很多資料,都覺得不是最好的方法。最後結合mysql官方資料和網友的資料,最後用rpm方式安裝,並總結給其他人以參考。 首先打開mysql管網,找到“ ...
  • sql資料庫實現分組並取每組的前1(幾)條數據 測試數據準備工作: 根據某一個欄位分組取最大(小)值所在行的數據: 創建表並且插入數據 1、根據Name分組取Val最大的值所在行的數據。 Sql語句代碼如下: 上面的5種方法的sql執行執行結果一樣,結果如下圖: 2、根據Name分組取Val最小的值 ...
  • 前言 LTP語言雲平臺 不支持離線調用; 支持分詞、詞性標註、命名實體識別、依存句法分析、語義角色標註; 不支持自定義詞表,但是你可以先用其他支持自定義分詞的工具(例如中科院的NLPIR)把文本進行分詞,再讓ltp幫你標註 支持C#、Go、Java、JavaScript、Nodejs、PHP、Pyt ...
  • 轉載地址:http://www.cnblogs.com/stephen-liu74/archive/2012/03/26/2356951.html 一、概述: 在該系列的前幾篇博客中,主要講述的是與Redis數據類型相關的命令,如String、List、Set、Hashes和Sorted-Set。這 ...
  • 本文藉鑒http://www.cnblogs.com/gossip/p/5977489.html,在此基礎上進行了完善,使之成為一個完整版的偽分散式部署說明,在此記錄一下! 一、本文目的 介紹如何在同一臺虛擬機上搭建高可用的Activemq服務,集群數量包含3個Activemq,當Activemq可 ...
  • 折騰了好久,終於好了,記錄一下 win7x64;vs2013; Oracle client:64-bit ODAC 12c Release 4 (12.1.0.2.4) Xcopy for Windows x64 ODTwithODAC121024.zip http://www.oracle.com ...
  • SQL必備知識點 閱讀目錄 經典SQL語句大全 基礎 提升 技巧 數據開發-經典 SQL Server基本函數 經典SQL語句大全 基礎 1、說明:創建資料庫CREATE DATABASE database-name 2、說明:刪除資料庫drop database dbname3、說明:備份sql ...
  • 在資料庫實現加密與解密的文章,Insus.NET較早前也有寫過,可以在本博客中可以搜索得到。今天使用EncryptByPassPhrase和DecryptByPassPhrase來簡單實現。 在資料庫中創建一張表來演示 當用戶使用註冊或是添加一筆記錄時,你可以使用下麵的SQL語句: 當需要驗證用戶登 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...