大數據實踐課01——HDFS分佈式文件系統

大數據實踐課——HDFS分佈式文件系統

  • 分佈式存儲

在這裏插入圖片描述

Master主節點:
     存放文件系統的目錄樹狀結構,
slave節點:
       放真實的數據
block塊:
        版本1:64m
        版本2:128m
replication:
        副本機制,3個
namespace:
         命名空間管理,管理着整個服務器集羣的所有文件。


傳統解決方案:
 移動數據:將數據向計算移動
 移動計算:將計算向數據移動
 1、任務分解
 2、結果彙總

hadoop是一個開源的、可靠的、可擴展的分佈式並行計算框架。
 GFS     MapReduce    BigTable
     HDFS(分佈式文件系統)            
          角色:
               1.NameNode:文件系統大管家,監管着文件系統的目錄和結構,由他維護文件系統的數據元素(文件名、block location)
                2.DataNode:存放真實數據(block數據)
               3.client:客戶端
      MapReduce(計算框架)    
      HBase 數據庫,基於列式存儲的數據庫
  • 分佈式計算
    在這裏插入圖片描述

  • Hadoop(一種生態/平臺)介紹
    Hadoop是一個開源的、可靠的、可擴展的分佈式並行計算框架
    -可靠的:主要是副本機制…
    -可擴展的
    -分佈式並行計算框架
    分佈式文件系統HDFS+計算框架MapReduce
    Hadoop不是數據庫,Hbase纔是數據庫(基於列式存儲的數據庫)

    底層語言:Java
    面向大數據處理
    大數據:目前的軟硬件環境無法處理的數據,只能依靠特殊方式來處理
    離線分析:並不是在生產系統上直接對數據進行處理,需要把生產環境的數據導入到另外的環境中(數據倉庫),並不是實時分析
    Hadoop使用行業:電子商務、京東、淘寶

  • Hadoop架構
    在這裏插入圖片描述

·hive是基於Hadoop的一個工具,提供完整的sql查詢功能,可以將sql語句轉換爲MapReduce任務進行處理。
·Hbase是一個開源的,基於列存儲的分佈式數據庫
·HDFS是一個分佈式文件系統。有着高容錯性特點,並且設計用來部署在低廉的硬件上,適合那些有着超大數據集的應用程序。
·MapReduce是一種編程模式,用於大規模數據集(大於1TB)的並行運算。
    
 HDFS(分佈式文件系統)角色:
   1.NameNode:文件系統大管家,監管着文件系統的目錄和結構,由他維護文件系統的數據元素(文件名、block location)
   2.DataNode:存放真實數據(block數據)
   3.client:客戶端

  • Hadoop的架構1.x
    在這裏插入圖片描述
Client:
HDFS:
	NameNode:
	DataNode:
MapReduce中兩個核心進程:(JobTacker TaskTacker只存在於1.x版本,2.x版本中爲yarn)
	JobTacker:只有一個,主節點,實現作業調度和監視每個節點上的作業執行情況
	TaskTacker:從節點,作業執行情況主動向JobTacker進行彙報
Java基礎裏的核心知識點:
	1、面向對象
	2、反射機制
	3、IO socket TCP/UDP
	4、Java設計模式
		單例
		工廠(實例、靜態)
		觀察者
		代理(靜態、動態)
	基於接口的代理:jdk
	基於類的代理:cglib
	

  Hadoop的核心設計
	兩大核心
	1、MapReduce
		Map:任務分解
		Reduce:結果的彙總
	2、HDFS
		NameNode:文件管理
		DataNode:文件存儲
		Client:文件獲取

	元數據:描述數據的數據
		例如:表明,字段、數據類型
	真實數據:實際數據


HDFS:
	提供分佈式存儲機制,提供可線性增長的海量存儲能力
	自動數據冗餘,無需使用Raid,無需另行備份
	爲進一步分析計算提供數據基礎

	架構模型:
		文件元數據MetaData,文件數據:
			元數據
			數據本身
		(主)NameNode節點保存文件元數據:單節點
		(從)DataNode節點保存文件Block數據:多節點
		DATaNode與NameNode保持心跳,提交Block列表
		HdfsClient與NameNode交互元數據信息
		HdfsClient與DataNode交互文件Block數據




 命令:
 	jps					-查看當前開啓的進程
 	start-dfs.sh		-啓動Hadoop重點hdfs進程
	stop-dfs.sh			-關閉hdfs進程
	//SecondaryNameNode並不是NameNode的副本
	
	內存受限問題解決辦法:
		Fell(聯邦機制)
	NameNode單點故障問題解決辦法:
		HA模式(高可用模式)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章