Hadoop是一個分佈式系統基礎架構,由Apache基金會開發。用戶能夠在不瞭解分佈式底層細節的狀況下,開發分佈式程序。充分利用集羣的威力高速運算和存儲。Hadoop實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有着高容錯性的特色,而且設計用來部署在低廉的(low-cost)硬件上。並且它提供高傳輸率(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣能夠流的形式訪問(streaming access)文件系統中的數據。node
Hadoop 是一個可以對大量數據進行分佈式處理的軟件框架。可是 Hadoop 是以一種可靠、高效、可伸縮的方式進行處理的。Hadoop 是可靠的,由於它假設計算元素和存儲會失敗,所以它維護多個工做數據副本,確保可以針對失敗的節點從新分佈處理。Hadoop 是高效的,由於它以並行的方式工做,經過並行處理加快處理速度。Hadoop 仍是可伸縮的,可以處理 PB 級數據。此外,Hadoop 依賴於社區服務器,所以它的成本比較低,任何人均可以使用。
Hadoop帶有用Java 語言編寫的框架,所以運行在 Linux 生產平臺上是很是理想的。本課程的講解是採用linux平臺進行模擬講解,徹底基於真實場景進行模擬現實python
01,課程介紹,HDFS架構和原理,搭建CentOS開發環境linux
> Hadoop背景正則表達式
> HDFS設計目標,應用場景,架構分析算法
> 使用Virtual安裝CentOS虛擬機sql
> 虛擬機環境配置編程
02,hdfs單機和集羣的配置安裝bootstrap
> Hadoop單機版安裝和配置centos
> Hadoop集羣安裝和配置服務器
> Hadoop命令行和WebUI的使用
03,hdfs應用-雲存儲系統(1)
> 雲存儲系統介紹和基本架構
> 搭建Eclipse和Maven開發環境
> 使用Maven建立並配置Struts2應用
> 使用bootstrap搭建UI框架
04,hdfs應用-雲存儲系統(2)
> 安裝和配置Redis
> 用戶管理模塊開發
05,hdfs應用-雲存儲系統(3)
> gson介紹和使用實例
> 實現普通的文件上傳,刪除,下載
06,hdfs應用-雲存儲系統(4)
> 實現基於HDFS的上傳,下載和刪除
> HDFS小文件管理方式:SequenceFile和Har
07,深刻hdfs-NameNode和DataNode
> hdfs的架構介紹
> hdfs如何讀寫文件
> FSImage和EditLog
> Rack Awareness
> hdfs基本管理
08,深刻hdfs-HDFS federation
> HDFS節點管理
> HDFS升級和回滾
> HDFS Federation
> 如何使用ViewFS
09,namenode HA
> zookeeper配置
> namenode HA(雙機)安裝和配置
10,yarn和mapreduce
> 配置Yarn(單機和集羣)
> MapReduce的工做原理
> 第一個MapRedcue程序
> Yarn命令行工具
11,mapreduce應用-搜索提示(1)
> 工做原理介紹(Ajax)
> 使用JQuery的AutoComplete控件搭建UI
12,mapreduce應用-搜索提示(2)
> 繼承Mapreduce程序
> 使用Redis保存中間數據
> 如何對增量和全量數據進行統計
> 」潛在好友推薦「算法介紹
13,mapreduce的採樣工具和partitiion
> 採樣和分區的工做原理
> RandomSampler,InputSampler,IntervalSampler
> TotalOrderPartitioner(全局排序)
14,Map Join和Reduce Join
> Reduce side join
> Map side join
> 如何自定義數據類型
> 如何使用DistributedCache
15,mapreduce應用-PageRank
> PageRank算法詳細講解
> 如何用mapreduce實現PageRank算法
16, Hive入門
> Hive的架構
> CLI, Hive Server, HWI介紹
> 配置Hive,使用Mysql存儲元數據
> CLI的基本使用
17, hive應用-搜索提示(1)
> Tomcat日誌解析
> 使用正則表達式解析Tomcat日誌
> 在查詢中使用正則表達式
18, hive應用-搜索提示(2)
> 在hive查詢中調用python腳本實現Redis插入
19,HQL(1)
> HQL基礎:DDL,DML
> 數據類型:原子與集合
> TextFile的默認編碼及自定義編碼
20,HQL(2)
> Hive查詢
> 正則表達式,基本函數,集合函數,表函數
> 嵌套查詢,case when語句,like和rlike
> Groupby和Having等
21,Hive自定義函數
> 如何編寫自定義函數
> 在自定義函數中鏈接Redis
> 在自定義函數中使用CacheFile
22,Compression in Hadoop
> Compression in Hadoop介紹
> 在MapReduce和Hive中使用Compression
> 安裝和配置lzo
23,24, HBase入門
> Hbase架構
> Hbase集羣安裝
> 使用HBase Shell
25,26,27,HBase應用 - 話單查詢
> Hbase Java API
> Struts2 and JSP
> Jquery Datatable and Datepicker
28,29,30,HBase應用 - 微博
> 表結構設計
> 關注好友
> 發微博
> 個人主頁
31,32,Storm入門
> Storm架構及原理介紹
> 安裝Storm
> 實現第一個topology
> Storm的grouping
33,Queue spout和DRPC
34,35,storm應用 - 語音話單計費
> 搭建計費topology
> 實現Queue spout和Mysql入庫bolt
> 實現漫遊和長途類型計算
> 計費邏輯的實現
> 整合全部功能到topology中
> 各個功能模塊的驗證