Course Code: hadoopadm2
Duration: 14 hours
Prerequisites:

熟练掌握Linux操作系统(如CentOS7)的安装、配置与管理
熟悉Shell命令与基本的脚本编写知识
无须事先具有Hadoop和分布式计算知识
最好掌握Java基础

Overview:

Apache Hadoop是用于处理服务器群集上的Big Data的最流行的框架。在本次课程中,与会者将了解Hadoop及其生态系统的业务优势和用例,如何规划群集部署和增长,如何安装,维护,监控和优化Hadoop 。他们还将练习集群批量数据加载,熟悉各种Hadoop发行版,并掌握安装和管理Hadoop生态系统工具的方法。

Course Outline:

Hadoop基础:架构、集群、规划与应用架构

  1. Hadoop和Hadoop环境介绍

简介、特点与典型应用场景

Hadoop集群与集群计算

Hadoop组件与生态

Hadoop1和Hadoop2的区别

  1. Hadoop架构介绍

Hadoop与分布式计算

Hadoop架构

Hadoop分布式文件系统HDFS

YARN架构及资源分配机制

  1. Hadoop集群创建与安装

Hadoop发行版本和安装类型

设置一个伪分布式Hadoop集群

Hadoop初始配置

Hadoop服务启动与验证

  1. Hadoop生产集群的规划与设计

规划Hadoop集群

从单机架到多机架

创建一个多节点集群

Hadoop配置

启动集群与配置Hadoop服务

  1. Hadoop上运行应用:MapReduce编程模型与YARN框架

MapReduce模型

MapReduce作业处理

理解Hadoop的作业处理过程

Hadoop如何展示作业细节

天,高级Hadoop:数据管理、保护与迁移,资源监控与优化

  1. NameNode的作用和HDFS的工作原理

NameNode与DataNode之间的交互

机架感知和拓扑逻辑

HDFS数据副本

客户端如何读写HDFS数据

Hadoop归档管理

  1. HDFS命令、权限与存储

用HDFS Shell命令管理HDFS

HDFS权限和用户

管理HDFS存储

重新均衡HDFS数据

回收HDFS空间

数据压缩

  1. NameNode高可用

NameNode HA架构 (QJM)

管理HA NameNode设置

HA手动和自动故障转移

备份和恢复NameNode元数据

  1. 数据迁移

数据传输工具简介

通过命令行将数据加载到HDFS

使用DistCp在HDFS集群之间复制数据

与Hadoop数据进行交换(Database, Flume, Kafka等)

  1. 集群中的资源分配

Hadoop中的资源分配

FIFO调度

容量调度

公平调度

  1. 监控、指标和Hadoop日志

监控Linux服务器

Hadoop指标

使用Ganglia进行监测

Hadoop日志记录

使用Hadoop的WebUI进行监控

  1. 调优集群资源,优化MapReduce作用和基准测试

如何分配YARN内存和CPU

配置高性能

Map和reduce任务调优

对集群进行基准测试 (IO/作业)

优化MapReduce