久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Hadoop_簡(jiǎn)介_01

 python_lover 2020-12-05

1. Apache Hadoop

  1.1 Hadoop介紹

    Hadoop是Apache旗下的一個(gè)用java語(yǔ)言實(shí)現(xiàn)的開源軟件框架, 是一個(gè)開發(fā)和運(yùn)行處理大規(guī)模數(shù)據(jù)的軟件平臺(tái). 允許使用簡(jiǎn)單的編程模型在大量計(jì)算機(jī)集群上對(duì)大型數(shù)據(jù)集進(jìn)行分布式處理. Hadoop不會(huì)跟某種具體的行業(yè)或者某個(gè)具體的業(yè)務(wù)掛鉤, 他只是一種用來做海量數(shù)據(jù)分析處理的工具. 

    

    狹義上說, Hadoop指Apache這款開源框架, 其核心組件有: 

      HDFS (分布式文件系統(tǒng)) : 解決海量數(shù)據(jù)存儲(chǔ)

      YARN (作業(yè)調(diào)度和集群資源管理的框架) : 解決資源任務(wù)調(diào)度

      MAPREDUCE (分布式運(yùn)算編程框架) : 解決海量數(shù)據(jù)計(jì)算

    廣義上說, Hadoop通常是指一個(gè)更廣泛的概念 -- Hadoop生態(tài)圈. 

    

    當(dāng)下的Hadoop已經(jīng)成長(zhǎng)為一個(gè)龐大的體系

    HDFS: 分布式文件系統(tǒng)

    MAPREDUCE: 分布式運(yùn)算程序開發(fā)框架

    HIVE: 基于Hadoop的分布式數(shù)據(jù)倉(cāng)庫(kù), 提供基于SQL的查詢數(shù)據(jù)操作

    HBASE: 基于Hadoop的分布式海量數(shù)據(jù)數(shù)據(jù)庫(kù)

    ZOOKEEPER: 分布式協(xié)調(diào)服務(wù)基礎(chǔ)組件

    Mahout: 基于MR / Spark / Flink等分布式運(yùn)算框架的機(jī)器學(xué)習(xí)算法庫(kù)

    OOZIE: 工作流調(diào)度框架

    SQOOP: 數(shù)據(jù)導(dǎo)入導(dǎo)出工具 (比如用于mysql和HDFS之間)

    FLUME: 日志數(shù)據(jù)采集框架

    IMPALA: 基于Hive的實(shí)時(shí)sql查詢分析

  1.2 Hadoop發(fā)展簡(jiǎn)史

    三篇Google論文:

    1) 2003年Google發(fā)表的第一篇論文: GFS (Google分布式文件系統(tǒng))

    2) 2004年Google發(fā)表的第二篇論文: Google的MapReduce解決海量數(shù)據(jù)計(jì)算

      同一時(shí)期,Doug Cutting基于Google的兩篇論文開發(fā)出: HDFS (Hadoop的分布式文件系統(tǒng)) , MapReduce (基于Hadoop的分布式計(jì)算平臺(tái)) 成為Apache的頂級(jí)項(xiàng)目. 

    3) 2006年Google發(fā)表的第三篇論文: BigTable, 開源界根據(jù)論文開發(fā)了HBase (基于Hadoop的分布式數(shù)據(jù)庫(kù)) . 

  1.3 Hadoop特性優(yōu)點(diǎn)

    1) 擴(kuò)容能力: Hadoop是在可用的計(jì)算機(jī)集群間分配數(shù)據(jù)并完成計(jì)算任務(wù)的, 這些集群可用方便的擴(kuò)展到數(shù)以千計(jì)的節(jié)點(diǎn)中. 

    2) 成本低: Hadoop通過廉價(jià)的機(jī)器組成服務(wù)器集群來分發(fā)以及處理數(shù)據(jù), 以至于成本很低. 

    3) 高效率: 通過并發(fā)數(shù)據(jù),Hadoop可以在節(jié)點(diǎn)之間動(dòng)態(tài)并行的移動(dòng)數(shù)據(jù), 使得速度非??? 

    4) 可靠性: 能自動(dòng)維護(hù)數(shù)據(jù)的多份復(fù)制, 并且在任務(wù)失敗后自動(dòng)的重新部署計(jì)算任務(wù). 所以Hadoop的按位存儲(chǔ)和處理數(shù)據(jù)的能力值得信賴. 

 

2. Hadoop集群

  2.1 發(fā)行版本

    分為開源社區(qū)版商業(yè)版

    社區(qū)版: 由Apache軟件基金會(huì)維護(hù)的版本, 是官方維護(hù)的版本體系. 

      優(yōu)點(diǎn): 功能最新, 免費(fèi). 

      缺點(diǎn): 穩(wěn)定性差, 兼容性差. 

    商業(yè)版: 由第三方商業(yè)公司在社區(qū)版基礎(chǔ)上進(jìn)行一些修改, 整合以及各個(gè)服務(wù)組件兼容性測(cè)試而發(fā)行的版本, 比如著名的cloudera的CDH, mapR, hortonWorks等. 

      優(yōu)點(diǎn): 穩(wěn)定性好, 軟件兼容性好. 

      缺點(diǎn): 收費(fèi), 暫時(shí)不能使用最新的Hadoop版本. 

    Hadoop版本特殊, 是由多條分支并行的發(fā)展, 大的來看分為3個(gè)大的系列版本: 1.x, 2.x, 3.x. 

    Hadoop1.x由一個(gè)分布式文件系統(tǒng)HDFS和一個(gè)離線計(jì)算框架MR組成. 

    Hadoop2.x包含一個(gè)支持NameNode橫向擴(kuò)展的HDFS, 一個(gè)資源管理系統(tǒng)YARN和一個(gè)運(yùn)行在YARN上的離線計(jì)算框架MR. 相比于Hadoop1.x, Hadoop2.x功能更加強(qiáng)大, 且具有更好的擴(kuò)展性, 性能, 并支持多種計(jì)算框架. 現(xiàn)在是企業(yè)主流版本. 

    Hadoop3.x相比之前的Hadoop2.x有一系列的功能增強(qiáng). 目前已經(jīng)趨于穩(wěn)定, 但是整個(gè)生態(tài)圈體系升級(jí)整合還未完畢, 所以商用還值得商榷. 

  2.2 集群簡(jiǎn)介

    Hadoop集群具體來說包含兩個(gè)集群: HDFS集群, YARN集群, 兩者邏輯上分離, 但物理上常在一起. 

      1) HDFS集群負(fù)責(zé)海量數(shù)據(jù)的存儲(chǔ), 集群中的角色主要有: NameNode, DataNode, SecondaryNameNode. 

      2) YARN集群負(fù)責(zé)海量數(shù)據(jù)運(yùn)算時(shí)的資源調(diào)度, 集群中的角色主要有: ResourceManager, NodeManager. 

      其中MR其實(shí)是一個(gè)分布式運(yùn)算編程框架, 是應(yīng)用程序開發(fā)包, 由用戶按照編程規(guī)范進(jìn)行程序開發(fā), 后打包運(yùn)行在HDFS集群上, 并且受到Y(jié)ARN集群的資源調(diào)度管理.  

    Hadoop部署方式分四種: Standalone mode (獨(dú)立模式) , Pseudo-Distributed mode (偽分布式模式) , Cluster mode (集群模式) , HA high availability (高可用集群模式) 其中前兩種都是在單機(jī)部署. 

      1) 獨(dú)立模式又稱為單機(jī)模式, 僅1個(gè)機(jī)器運(yùn)行1個(gè)Java進(jìn)程, 主要用于調(diào)試. 

      2) 偽分布模式也是在1個(gè)機(jī)器運(yùn)行HDFS的NameNode和DataNode, YARN的ResourceManager和NodeManager, 但分別啟動(dòng)單獨(dú)的Java進(jìn)程, 主要用于調(diào)試. 

      3) 集群模式主要用于生產(chǎn)環(huán)境部署. 會(huì)使用N臺(tái)主機(jī)組成一個(gè)集群, 這種部署模式下, 主節(jié)點(diǎn)和從節(jié)點(diǎn)會(huì)分開部署在不同的機(jī)器上. 

      4) 高可用集群模式主要解決單點(diǎn)故障, 保證集群的高可用, 提高可靠性

    HDFS集群 (主從架構(gòu)) : 

      主角色: NameNode (nn)

      從角色: DataNode (dn)

      主角色的輔助角色: SecondaryNameNode (snn)

    YARN集群 (主從架構(gòu)) : 

      主角色: ResourceManager (rm)

      從角色: NodeManager (nm)

    MR需要開發(fā)的程序組件: 

      Map組件

      Reduce組件

    Hadoop角色分布圖

    

    HDFS原理圖簡(jiǎn)單分析

    

  2.3 為什么CDH版本Hadoop要重新編譯?

    由于CDH的所有安裝包版本都給出了對(duì)應(yīng)的軟件版本, 一般情況下是不需要自己進(jìn)行編譯的, 但是由于CDH給出的Hadoop的安裝包沒有提供帶C程序訪問的借口, 所有我們?cè)谑褂?span style="color: #ff0000;">本地庫(kù)的時(shí)候就會(huì)出現(xiàn)問題. (本地庫(kù): 可以用來做壓縮, 以及支持C程序等等) 

    1) Hadoop是使用Java語(yǔ)言開發(fā)的, 但是有一些需求和操作并不適合使用java, 所以就引入了本地庫(kù) (Native Libraries) 的概念. 說白了, 就是Hadoop的某些功能, 必須通過JNT來協(xié)調(diào)Java類文件和Native代碼生成的庫(kù)文件一起才能工作.

    2) linux系統(tǒng)要運(yùn)行Native代碼, 首先要將Native編譯成目標(biāo)CPU架構(gòu)的 [.so] 文件. 而不同的處理器架構(gòu), 需要編譯出相應(yīng)平臺(tái)的動(dòng)態(tài)庫(kù) [.so] 文件, 才能被正確的執(zhí)行, 所以最好重新編譯一次hadoop源碼, 讓 [.so] 文件與自己處理器相對(duì)應(yīng). 注意: windows平臺(tái)是動(dòng)態(tài)庫(kù) [.dll] 文件

    總結(jié): 主要是要重新編譯本地庫(kù) (Native Libraries) 代碼 (Linux下對(duì)應(yīng) [.so] 文件,,window下對(duì)應(yīng) [.dlI] 文件) , 也就是編譯生成linux下的 [.so] 文件. 

    源碼編譯后壓縮包路徑: 

    

     源碼編譯后結(jié)果: 

    

  2.4 Hadoop安裝包目錄結(jié)構(gòu)

    目錄結(jié)構(gòu)如下: 

    bin: Hadoop最基本的管理腳本和使用腳本的目錄

    etc: Hadoop配置文件所在的目錄

    include: 對(duì)外提供的編程庫(kù)頭文件 (具體動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)在lib目錄中) . 

    lib: 包含了Hadoop對(duì)外提供的編程動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù), 與include目錄中的頭文件結(jié)合使用. 

    libexec: 各個(gè)服務(wù)對(duì)用的shell配置文件所在的目錄, 可用于配置日志輸出, 啟動(dòng)參數(shù)等基本信息. 

    sbin: Hadoop管理腳本所在的目錄, 主要包括HDFS和YARN中各類服務(wù)的啟動(dòng) / 關(guān)閉腳本

    share: Hadoop各個(gè)模塊編譯后的jar包所在的目錄, 官方自帶實(shí)例

  2.5 集群規(guī)劃 

    集群規(guī)劃: 在我們準(zhǔn)備的三臺(tái)服務(wù)器上如何搭建hadoop集群
    原則:
      1) 優(yōu)先滿足軟件需要的硬件資源
      2) 盡量避免有沖突的軟件不要在一起
      3) 有依賴的軟件盡量部署在一起

    規(guī)劃安排:
      hadoop01: NameNode DataNode | ResourceManager NodeManager
      hadoop02: DataNode SecondaryNameNode | NodeManager
      hadoop03: DataNode | NodeManager

    未來擴(kuò)展:
      hadoop04: DataNode NodeManager
      hadoop05: DataNode NodeManager
      hadoop06: DataNode NodeManager
      ......

  2.6 啟動(dòng), Web-UI

    要啟動(dòng)Hadoop集群, 需要啟動(dòng)HDFS和YARN兩個(gè)集群, 首次啟動(dòng)HDFS時(shí), 必須對(duì)其進(jìn)行格式化操作. 本質(zhì)上是一些清理和準(zhǔn)備工作, 因此此時(shí)的HDFS在物理上還是不存在的. 

    Hadoop集群?jiǎn)?dòng)并允許, 可以通過web-ui進(jìn)行查看

    NameNode: http://nn_host:port/ 默認(rèn)50070

    ResourceManager: http://rm_host:port/ 默認(rèn)8088

  2.7 MapReduce JobHistory

    JobHistory用來記錄已經(jīng)finished的MR運(yùn)行日志, 日志信息存放于HDFS目錄中, 默認(rèn)情況下沒有開啟此功能, 需要在mapred-site.xml中配置并手動(dòng)啟動(dòng). 

    可以通過web-ui進(jìn)行查看

    http://nn_host:port/ 默認(rèn)19888

 

3. HDFS的垃圾桶機(jī)制

  3.1 垃圾桶機(jī)制解析

    每一個(gè)文件系統(tǒng)都會(huì)有垃圾桶機(jī)制, 便于將刪除的數(shù)據(jù)回收到垃圾桶里, 避免某些誤操作刪除一些重要文件. 回收到垃圾桶里的資料數(shù)據(jù), 都可以進(jìn)行恢復(fù). 

  3.2 垃圾桶機(jī)制配置

     HDFS的垃圾回收的默認(rèn)配置屬性為0, 也就是說, 如果不小心誤刪了, 那么這個(gè)操作是不可恢復(fù)的. 修改core-site.xml , 那么可以按照生產(chǎn)上的需求設(shè)置回收站的保存時(shí)間, 這個(gè)時(shí)間以分鐘為單位, 例如1440 = 24h = 1天. 

  3.3 垃圾桶機(jī)制驗(yàn)證

    如果啟用垃圾桶配置, dfs命令刪除的文件不會(huì)立即從HDFS中刪除. 相反, HDFS將其移動(dòng)到垃圾目錄 (每個(gè)用戶在 /user/<username>/.Trash 下都有自己的垃圾目錄). 只要文件保留在垃圾箱中, 文件可以快速回復(fù). 

    使用skipTrash選項(xiàng)刪除文件, 該選項(xiàng)不會(huì)將文件發(fā)送到垃圾桶, 它將從HDFS中完全刪除. 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多