1. 程式人生 > >大資料Hadoop學習筆記(一)

大資料Hadoop學習筆記(一)

大資料Hadoop2.x

  • hadoop用來分析儲存網路資料
  • MapReduce:對海量資料的處理、分散式。
    思想————> 分而治之,大資料集分為小的資料集,每個資料集進行邏輯業務處理合並統計資料結果(reduce)
    執行模式:本地模式和yarn模式
    input——>map——>shuffle——>reduce——>output
    shuffle:將結果進行排序
    HDFS:儲存海量資料

分散式

  • 資料安全性——>副本資料(一般儲存3份)
  • 資料是以block的方式進行儲存的

YARN:分散式資源管理框架

  • 管理整個叢集的資源(記憶體,CPU核數)
  • 分配排程叢集的資源

ResouceManager

  • 整個叢集的資源管理和排程

NodeManager

  • 管理每個節點的資源和排程

MapReduce :分而治之

  • map:分。跟別計算每個block的結果
  • reduce:合併結果

NameNode主節點

  • 儲存檔案系統的元資料(檔名、檔案目錄結構、檔案屬性)。資料流不經過儲存在記憶體(程序),讀取速度比較快

    Datanodes從節點

    • 本地檔案系統儲存檔案塊資料,以及塊資料的校驗和
    • 本地磁碟——>fsimage:映象檔案 edites:編輯日誌

    SecondaryNameNode

    • 輔助namenode工作,2.0版本中預設存在的。週期性的合併兩個檔案
      ===========================================
  • rpm -qa|grep java 檢視linux當前版本
  • rpm -e --nodeps 解除安裝當前Java
  • echo ${變數} 顯示變數的路徑。如echo ${JAVA_HOME} 顯示JAVA_HOME的安裝路徑

常見的hdfs命令

  • bin/hdfs dfs -ls 檔案目錄 檢視目錄下有哪些檔案。不加路徑,直接檢視使用者主目錄/user/root
  • bin/hdfs dfs -rm -R 檔案目錄(檔名)刪除檔案。如果直接輸入檔名,則刪除使用者主目錄下的檔案
  • bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/wordcount/input/ /user/root/mapreduce/wordcount/output mapreduce應用提交到yarn上面。mapreduce的輸出結果在outpu檔案,資料夾之前是不能存在的
  • bin/hdfs dfs -cat 檔案目錄 讀取檔案
  • bin/hdfs dfs -text 檔案目錄 讀取檔案,將要讀取的檔案變成文字檔案
  • bin/hdfs dfs namenode -formate namenode格式化
  • sbin/mr-jobhistory-daemon.sh start historyserver 啟動歷史伺服器
  • 多個版本Hadoop 大資料叢集拷貝
    • hadoop distcp -i hftp://sourceFS:50070/src hdfs://destFS:8020/dest

hadoop預設提供3個mapreduce程式,用於基本測試

  • taragen:深層資料
  • terasort:對資料排序
  • taravalidate:驗證排序結果