Hadoop學習1

来源:https://www.cnblogs.com/JunCen/archive/2020/05/20/12925125.html
-Advertisement-
Play Games

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


一.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之間會互相通信,複製數據塊。

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


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

-Advertisement-
Play Games
更多相關文章
  • 偷個懶,晚上工作忙的太晚,整個複製功能的內容還沒有寫完,這裡先說一下複製功能的簡單應用。 在Redis中,用戶可以通過執行SLAVEOF命令或者設置slaveof選項,讓一個伺服器去複製另一個伺服器,我們稱呼被覆制的伺服器為主伺服器(master),而對主伺服器進行複製的伺服器則被稱為從伺服器(sl ...
  • Redis中的數據類型 字元串 散列 列表 集合 有序集合 Redis中的數據類型 Redis定義了這幾種數據類型: string(字元串) hash(散列) list(列表) set(集合) zset(有序集合) 後面會介紹它們各自的特點和使用場景。可以用TYPE命令來獲取鍵的類型。 字元串 字元 ...
  • 回顧一下,第一篇文章 "大白話 六問數據中台!你想知道的都在這了!" 。把數據中台是什麼?為什麼?有什麼價值?說的明明白白。 數據中台是企業級能力復用平臺,目標是讓數據持續用起來,通過數據中台提供的工具、方法和運行機制,把數據變為一種服務能力,讓數據更方便地被業務所使用 。 今天就來點實際乾貨,把企 ...
  • 腳本: /* 說明:sql server如何通過排序控制insert into ... select ... 語句的記錄插入順序 腳本來源:https://www.cnblogs.com/zhang502219048/p/12925890.html */ create table #t ( id i ...
  • SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname='db_name' AND pid<>pg_backend_pid(); drop database db_name; ...
  • 出現ora-31655錯誤的情況 原因:是因為不是同一個schema,導致的問題產生 解決方案: 在導入語句最後添加上remap_schema=old:new 著old是原schema,也就是導出的用戶名,new是想要導入的用戶名 如:這裡有一個expdp導出的dmp文件用戶是test_old,想要 ...
  • 以system用戶登錄,查找需要刪除的用戶: --查找用戶 select * from dba_users; --查找工作空間的路徑select * from dba_data_files; --刪除用戶drop user 用戶名稱 cascade;--刪除表空間與數據文件drop tablespa ...
  • 一,基本表的定義與刪除. 題1: 用SQL語句創建如下三張表:學生(Student),課程表(Course),和學生選課表(SC),這三張表的結構如表1-1到表1-3所示。 表1-1 Student表結構列名 說明 數據類型 約束Sno 學號 字元串,長度為7 主碼Sname 姓名 字元串,長度為1 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...