熟練掌握Linux操作系統(如CentOS7)的安裝、配置與管理
熟悉Shell命令與基本的腳本編寫知識
無須事先具有Hadoop和分布式計算知識
最好掌握Java基礎
Apache Hadoop是用于處理服務器群集上的Big Data的最流行的框架。在本次課程中,與會者將了解Hadoop及其生態系統的業務優勢和用例,如何規劃群集部署和增長,如何安裝,維護,監控和優化Hadoop 。他們還將練習集群批量數據加載,熟悉各種Hadoop發行版,並掌握安裝和管理Hadoop生態系統工具的方法。
第一天,Hadoop基礎:架構、集群、規劃與應用架構
- Hadoop和Hadoop環境介紹
簡介、特點與典型應用場景
Hadoop集群與集群計算
Hadoop組件與生態
Hadoop1和Hadoop2的區別
- Hadoop架構介紹
Hadoop與分布式計算
Hadoop架構
Hadoop分布式文件系統HDFS
YARN架構及資源分配機制
- Hadoop集群創建與安裝
Hadoop發行版本和安裝類型
設置一個僞分布式Hadoop集群
Hadoop初始配置
Hadoop服務啓動與驗證
- Hadoop生産集群的規劃與設計
規劃Hadoop集群
從單機架到多機架
創建一個多節點集群
Hadoop配置
啓動集群與配置Hadoop服務
- Hadoop上運行應用:MapReduce編程模型與YARN框架
MapReduce模型
MapReduce作業處理
理解Hadoop的作業處理過程
Hadoop如何展示作業細節
第二天,高級Hadoop:數據管理、保護與遷移,資源監控與優化
- NameNode的作用和HDFS的工作原理
NameNode與DataNode之間的交互
機架感知和拓撲邏輯
HDFS數據副本
客戶端如何讀寫HDFS數據
Hadoop歸檔管理
- HDFS命令、權限與存儲
用HDFS Shell命令管理HDFS
HDFS權限和用戶
管理HDFS存儲
重新均衡HDFS數據
回收HDFS空間
數據壓縮
- NameNode高可用
NameNode HA架構 (QJM)
管理HA NameNode設置
HA手動和自動故障轉移
備份和恢複NameNode元數據
- 數據遷移
數據傳輸工具簡介
通過命令行將數據加載到HDFS
使用DistCp在HDFS集群之間複制數據
與Hadoop數據進行交換(Database, Flume, Kafka等)
- 集群中的資源分配
Hadoop中的資源分配
FIFO調度
容量調度
公平調度
- 監控、指標和Hadoop日志
監控Linux服務器
Hadoop指標
使用Ganglia進行監測
Hadoop日志記錄
使用Hadoop的WebUI進行監控
- 調優集群資源,優化MapReduce作用和基准測試
如何分配YARN內存和CPU
配置高性能
Map和reduce任務調優
對集群進行基准測試 (IO/作業)
優化MapReduce