熟练掌握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