學習大數據,學什么?怎么學?
1、原理和運行機制、體系結構(非常重要)
2、動手:搭建環境、寫程序
目的:1、學習內容 2、熟悉一些名詞
一、各章概述(Hadoop部分)
(一)、Hadoop的起源與背景知識
1、什么是大數據?兩個例子、大數據的核心問題是什么?
舉例:
(1)商品推薦:問題1:大量的訂單如何存儲? 問題2:大量的訂單如何計算?
(2)天氣預報:問題1:大量的天氣數據如何存儲? 問題2:大量的天氣數據如何計算?
大數據的核心問題:
(1)數據的存儲:分布式文件系統(分布式存儲)
(2)數據的計算:分布式計算

ps:1.HDFS解決了硬盤不夠大和數據不安全的問題,方式分別為多增加幾個硬盤盒數據冗余,HDFS默認冗余度為3(相當於一份文件默認存三份)。
2.HDFS數據的上傳是通過數據塊上傳的。1.X版本默認為64M,2.X版本默認是128M.
3.HDFS首先上傳數據到一個硬盤,然后通過水平復制,達到冗余度要求。
4.HDFS分為主節點NameNode(名稱節點),SecondaryNameNode(第二名稱節點),DataNode(數據節點)。
NameNode(名稱節點)和SecondaryNameNode(第二名稱節點)沒有關系,作用不同。

機架感知詳解:https://www.cnblogs.com/ggjucheng/archive/2013/01/03/2843015.html
2、概念:數據倉庫(Data warehouse)
(1)我們可以把Hadoop和Spark看成是數據倉庫的一種實現方式
(2)數據倉庫就是一個數據庫,一般只做select
(3)重要:掌握數據倉庫搭建的過程
(4)數據倉庫又是一種OLAP的應用系統

3、概念:OLTP和OLAP
(1)OLTP:online transaction processing 聯機事務處理
(2)OLAP:online analytic processing 聯機分析處理 ------> 一般:不會修改(刪除)數據
4、(最重要的內容)Google的幾篇論文:3篇
(1)GFS:Google File System -----> HDFS ----> 解決:數據的存儲
(2)MapReduce計算模型 -----> Hadoop MapReduce ----> 解決:數據的計算
(3)BigTable大表 -----> HBase是NoSQL數據庫
(二)、實驗環境

(三)、Apache Hadoop的體系結構(重要):實現Google的思想論文
1、HDFS:Hadoop Distributed File System
(*)主從結構
(*)主節點:NameNode名稱節點
(*)從節點:DataNode數據節點
(*)SecondaryNameNode:第二名稱節點
2、Yarn:是一個容器,運行MapReduce程序
(*)主從結構
(*)主節點:ResourceManager 資源管理器
(*)從節點:NodeManager 節點管理器
3、HBase:需要單獨安裝
(*)主從結構
(*)主節點:HMaster
(*)從節點:RegionServer
(四)、Hadoop 2.X的安裝與配置
Hadoop有三種安裝模式
1、本地模式 一台Linux
2、偽分布模式 一台Linux
3、全分布模式 三台Linux
4、掌握免密碼登錄的原理和配置
(五)、Hadoop應用案例分析
1、大數據背景下,企業級系統的架構的變化
2、HBase進行日志分析
3、了解:Hadoop在淘寶的應用
(六)、HDFS:Hadoop的分布式文件系統,數據存儲
1、操作HDFS:(1)命令行 (2)Java API (3)網頁:Web Console
2、原理:數據上傳的過程
數據下載的過程
3、HDFS的底層實現:RPC和Java動態代理
RPC:remote procedure call
4、高級特性
(*)回收站
(*)快照snapshot:是一種備份
(*)配額quota:(1)名稱配額 (2)空間配額
(*)安全模式:safemode
(*)權限
(七)、MapReduce:是一個計算模型,可以用Java來實現
1、Demo:經典WordCount
2、重點:MapReduce處理數據的過程
3、原理:Yarn執行MapReduce的過程
4、MapReduce的高級特性
(*)序列化
(*)排序
(*)分區
(*)合並
5、MapReduce的核心:Shuffle(洗牌)
6、編程案例:
(*)排序:order by
(*)去重:distinct
(*)多表查詢
(*)倒排索引
補充:MySQL數據庫
(八)、Hive:蜂巢 數據分析的引擎:翻譯器 SQL ---------------> MapReduce
(九)、Pig: 豬 數據分析的引擎:翻譯器 PigLatin語言 ------> MapReduce
(十)、HBase: NoSQL數據庫
1、是基於Hadoop之上的NoSQL
2、體系結構:HMaster、RegionServer
3、搭建:本地模式、偽分布模式、全分布模式
4、操作:命令行、Java API、Web Console
5、過濾器:實現復雜的查詢
6、HBase上的MapReduce
(十一)、Sqoop:數據采集引擎,采集關系型數據庫中的數據
(十二)、Flume:數據采集引擎,采集日志
(十三)、HUE:基於Web的管理工具
(十四)、ZooKeeper: 相當於是一個”數據庫“,實現HA(High Avaiblity高可用性)
(十五)、Hadoop的集群和HA
1、HDFS的聯盟(Federation)
2、Hadoop的HA(High Avaiblity高可用性)
(十六)、Redis:基於內存的NoSQL數據庫,提高性能
(十七)、Storm:處理流式數據(實時計算)
集成Storm和Redis
