大数据基本概念介绍
一、什么是大數據
專業咨詢公司IDC對大數據特征的定義: 4V
1、數據量(Volume): TB,PB級別以上。
2、多樣性,復雜性(Variety): 結構化數據(關系型數據庫),文件,視頻,音頻、圖像,地理位置
3、基于高度分析的新價值(Value): 價值密度比較低,比如1個小時的視頻,只有1分鐘是有價值的。
4、速度(Velocity): 處理速度,原來處理方式比較久如每天處理一次?,F在要求實時處理。
二、大數據帶來的技術變革
1、計算瓶頸(原來都是單機計算的,現在數據越來越大,如超過100G,單機處理不過來了)。
解決方法: 單機轉集群。
2、存儲瓶頸
解決方式:分布式存儲,不同的塊存在不同的機器里,而且是多副本存儲。
3、數據庫瓶頸
原來存儲在關系型數據庫,如Oracle,MySQL等,即使它們有集群的方式,但是存儲還是有限的。
解決方式: 采用NoSQL數據庫,如Redis,HBASE來滿足大數據存儲的需求。
三、Hadoop概述
1、什么是Hadoop
一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。
Hadoop包括Distributed File System(HDFS) 分布式文件系統,YARN,MapReduce。
官網地址:
Hadoop: hadoop.apache.org
Hive: hive.apache.org
Spark: spark.apache.org
HBase: hbase.spache.org
2、Hadoop包括的模塊
Hadoop Common: The common utilities that support the other Hadoop modules.
Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.
Hadoop YARN: A framework for job scheduling and cluster resource management.
Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.
Hadoop Ozone: An object store for Hadoop
3、狹義Hadoop和廣義Hadoop
狹義的Hadoop: 是一個適合大數據分布式存儲(HDFS)、分布式計算(MapReduce)和資源調度(YARN)的平臺。
廣義的Hadoop: 指的是Hadoop生態系統,Hadoop生態系統是一個很龐大的概念,hadoop是其中最重要最基礎的一部分;生態系統中的每一個子系統只解決某一個特定的問題域(甚至可能很窄),不搞統一型的一個全能系統,而是小而精的多個小系統
4、Hadoop生態圈(廣義Hadoop)
圖片來自官網:https://hadoop.apache.org/docs/r3.2.2/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
為什么很多公司選擇Hadoop作為大數據平臺的解決方案?
1) 源碼開源
2) 社區活躍、參與者很多,如Spark
3) 涉及到分布式存儲和計算的方方面面:
Flume進行數據采集
Spark/MR/Hive等進行數據處理
HDFS/HBase進行數據存儲
4) 已得到企業界認證
三、分布式文件系統HDFS
1、什么是HDFS
Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS
源自于Google的GFS論文
發表與2003年,HDFS是GFS的克隆版
2、HDFS的設計目標
1) 非常巨大的分布式文件系統
2) 運行在普通廉價的硬件上
3) 易擴展、為用戶提供性能不錯的文件存儲服務。
3、HSDS架構
圖片來自官網:https://hadoop.apache.org/docs/r3.2.2/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html
1個Master(NameNode,簡稱NN),多個Slave(DataNode,簡稱DN)
1個文件會被拆分成多個Block(塊)
blocksize: 128M
例如130M文件會被拆分成2個Block,一個128M和2M
NN職責:
1) 負責客戶端請求的響應
2) 負責元數據(文件的名稱、副本系數、Block存放的DN)的管理
DN職責
1) 存儲用戶的文件對應的數據塊(Block)
2) 要定期向NN發送心跳信息,匯報本身及其所有的block信息,健康狀況
建議: NN和DN部署在不同的節點上
Client:
就是你的操作,比如HDFS的Shell文件或者Java API的一些文件
4、HDFS副本機制
文件名 ,副本數,塊ID
如文件名part-0, r:2 副本數為2, 塊號為1號和3號
文件名part-1, r:3 副本數為3, 塊號為2號,4號和5號
數據有多個副本,目的是為了容錯。
作者:Work Hard Work Smart
出處:http://www.cnblogs.com/linlf03/
歡迎任何形式的轉載,未經作者同意,請保留此段聲明!
總結
- 上一篇: 虹软人脸识别sdk使用-android(
- 下一篇: 「达人分享」四分体出现在什么时期