课程大纲:
Hadoop生态系统
培训目标
1、 深入理解分布式原理与实现技术;
2、 分布式文件系统操作能力,以HDFS为例讲解;
3、 从代码的角度深入剖析MapReduce执行的具体过程;
4、 培养学员具有分布式批处理计算框架的开发MapReduce代码的能力;
5、 使学员掌握MapReduce内部运行和实现细节并改造MapReduce的能力;
6、 使学员掌握分布式并行计算引擎的使用能力,如Spark、Impala等;
7、 使学员掌握分布式数据库的使用能力,如HBase、MySQL Cluster、Redis等;
8、 具备分布式流计算的开发能力,如SparkStreaming、Storm等;
培训对象
1、 对大数据、分布式存储、分布式计算等感兴趣的朋友;
2、 Java、PHP、C等任意一门编程语言的开发者;
3、 大型网站、电商网站等运维人员;
4、 云计算、大数据从业者;
5、 熟悉Hadoop生态体系,想了解和学习Hadoop与Spark整合在企业应用实战案例的朋友;
6、 系统架构师、系统分析师、高级程序员、资深开发人员;
7、 牵涉到大数据处理的数据中心运行、规划、设计负责人;
8、 政府机关,金融保险、移动互联网等大数据单位的负责人;
9、 高校、科研院所大数据研究人员,涉及到大数据与分布式数据处理的人员;
10、 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;
课程大纲
第1个主题: 分布式基础理论知识(深入剖析分布式原理与理论,并为分布式学习奠定基础)
1、 大数据技术
2、 分布式技术
3、 CAP理
4、 BASE思想
5、 消息机制
6、 分布式协调器
7、 心跳机制
8、 日志结构文件系统
9、 RWN理论
10、 跨操作系统调度资源
第2个主题: Hadoop大数据分布式平台概述(系统性介绍Hadoop大数据分布式平台)
1、 Hadoop是大数据架构的事实标准
2、 Hadoop工作原理及架构
3、 Hadoop生态体系介绍
4、 Hadoop应用现状
5、 Hadoop发展趋势
6、 Hadoop优势
7、 实例分享:双十一亿背后的开源技术
第3个主题: Hadoop分布式集群部署与运维(动手搭建Hadoop集群及运维)
1、 SaltStack
2、 Maven
3、 禁用IPV6
4、 SSH无密码登录
5、 Hadoop HA部署介绍
6、 Hadoop集群部署
7、 Hadoop集群的监控
8、 Hadoop集群的运维
第4个主题: 分布式文件操作和存储(深入理解大数据分布式文件系统的原理与机制)
1、 HDFS架构剖析
2、 NameNode、DataNode、SecondaryNameNode介绍
3、 NodeName高可靠性*实践
4、 DataNode中Block划分的原理和具体存储方式
5、 修改Namenode、DataNode数据存储位置
6、 CLI操作HDFS
7、 Java操作HDFS
8、 RESTful操作HDFS
9、 动态修改Hadoop的Replication数目
10、 Hadoop序列化
11、 Hadoop流压缩
12、 Hadoop RPC
13、 SequenceFile与MapFile
14、 Hadoop Avro
第5个主题: 分布式资源调度框架剖析(深入剖析和使用分布式资源调度框架的能力)
1、 YARN介绍
2、 YARN的设计思想
3、 YARN的核心组件
4、 YARN为核心的生态系统
5、 Yarn的 HA机制
6、 YARN应用程序编写
7、 ResourceManager深入剖析
8、 ClientRMService与AdminService
9、 NodeManager深入剖析
10、 Container
第6个主题: 分布式批处理计算模型MapReduce(深入剖析MapReduce原理及开发MapReduce程序能力思维方法论)
1、 MapReduce算法剖析
2、 MapReduce编程思想
3、 MapReduce常用算法
4、 MapReduce命令操作
5、 wordcount运行过程解析
6、 MapReduce如何将HDFS文件转化为Key-Value供Map解析与处理
7、 Hadoop的调度器介绍
8、 Combiner的使用原则
9、 Partitioner的使用*实践
10、 MapReduce排序算法剖析
11、 自定义排序算法
12、 Hadoop内置的分组算法
13、 自定义分组算法
14、 MapReduce常见场景和算法实现
15、 MapReduce新旧API的区别以及如何使用API
16、 MapReduce程序打包并在命令行运行
17、 Hadoop Streaming
18、 动态增加Hadoop的Slave节点
19、 学员动手编写MapReduce程序
第7个主题: 分布式内存数据库(介绍当前主流的分布式内存数据库,深入剖析分布式内存库系统的原理与机制)
1、 业界主要应用的分布式内存库有哪些
2、 分布式内存库的应用情况
a) 大数据非结构化数据的应用场景(TFS)
b) 大数据历史明细查询的应用场景
c) 秒杀高并发的应用场景
d) 实时高并发业务的应用场景
e) 在线实时统计分析的应用场景
3、 应用的具体案例
a) 分布式内存库在运营商话单详单查询系统中的应用
b) 分布式内存库在金融行业流水业务查询系统中的应用
c) 分布式内存库在微博自媒体业务中应用
4、 分布式内存库的特性
5、 CAP理论
6、 BASE思想
7、 RWN理论
8、 分布式关系型内存库
a) MySQL Cluster
9、 分布式NoSQL列式内存库
a) HBase
b) Cassandra
c) GemFire
10、 分布式文档内存库
a) MongoDB
11、 案例:GemFire在实时交易系统12306的使用案例分享
第8个主题: 分布式协调器(深入剖析分布式协调器技术原理和实现技术)
1、 Zookeeper介绍
2、 Paxos算法
3、 Paxos 算法应用场景
4、 Zookeeper的数据模型
5、 Zookeeper的节点
6、 Zookeeper的角色
7、 Zookeeper工作原理
8、 Leader选举
9、 部署ZooKeeper
10、 Shell操作Zookeeper
11、 Java程序操作Zookeeper
12、 Zookeeper典型使用场景
第9个主题: 分布式数据库NoSQL技术(深入剖析分布式NoSQL技术及原理并实操)
1、 分布式数据库概述
2、 HBase介绍
3、 HBase的特点
4、 HBase逻辑模型
5、 HBase列族与列
6、 HBase时间戳
7、 行式数据库 vs 列式数据库
8、 HBase物理模型
9、 数据存储结构:LSM
10、 HBase的REST接口
11、 HBase安装部署
12、 HBase Shell
13、 倒排索引
14、 开发实践分享:微博
15、 HBase应用
16、 HBase Filter
17、 HBase Coprocessor
第10个主题: 分布式NoSQL数据库编程思维训练(老师带领学员用HBase在课上亲自动手完成微博项目的开发过程,使学员掌握分布式NoSQL编程思维方法)
1、 HBase开发环境搭建过程介绍
2、 倒排索引
3、 案例实战:微博项目
4、 微博业务概述
5、 微博业务功能说明
6、 微博逻辑架构设计
7、 微博开发使用的组件
8、 HBase表结构设计
9、 基于HBase的微博表结构设计
10、 基于HBase的微博项目代码开发
11、 基于HBase的微博项目的总结
12、 HBase API剖析
13、 HBase研发案例分享
14、 HBase应用
15、 基于HTable的MapReduce分析
16、 HBase Filter
17、 HBase Filters
18、 SingleColumnValueFilter示例
第11个主题: 分布式内存数据库库Redis(深入剖析Redis的技术原理)
1、 Redis数据库原理
2、 Redis数据库应用
3、 Redis开发实践(倒排索引)
4、 Redis开发调试
5、 Redis优化
6、 Redis发布订阅机制剖析
7、 Redis集群搭建
8、 Codis介绍
9、 Codis整体设计
10、 Codis架构
11、 Codis组件介绍
第12个主题: 分布式文档内存库MongoDB(深入剖析分布式内存库MongoDB文档数据库功能与项目应用案例)
1、 什么是MongoDB
2、 MongoDB发展现状与趋势
3、 介绍MongoDB基础概念
4、 MongoDB架构剖析
5、 MongoDB文档与集合
6、 MongoDB集群搭建
7、 MongoDB状态监控
8、 MongoDB安全认证
9、 MongoDB备份和恢复
10、 MongoDB Shell操作
11、 MongoDB数据类型
12、 文档的增加、修改与删除
13、 Java访问MongoDB文档的调试
14、 MongoDB查询介绍
15、 MongoDB MapReduce统计分析
16、 MongoDB索引
17、 MongoDB性能优化
18、 MongoDB主从复制
19、 MongoDB Sharding分片
20、 MongoDB项目案例:运营商话务数据分析案例剖析
第13个主题: 关系型分布式内存库MySQL Cluster(深入剖析关系型分布式内存库MySQL Cluster数据库功能与实现原理)
1、 什么是MySQL Cluster
2、 MySQL Cluster发展现状与趋势
3、 介绍MySQL Cluster基础概念
4、 MySQL Cluster架构剖析
5、 NDB Cluster存储引擎
6、 无共享体系结构
7、 管理(MGM)节点
8、 数据节点
9、 SQL节点
10、 标准MySQL客户端
11、 MySQL Cluster应用场景
12、 案例分享:MySQL Cluster在电商平台中的应用
第14个主题: 分布式并行计算引擎(深入剖析分布式并行计算引擎实现原理)
1、 分布式并行计算引擎概述
2、 分布式并行计算引擎原理
3、 Spark介绍
4、 Spark架构剖析
5、 Spark RDD计算模型解析
6、 Spark开发分析
7、 Spark的执行机制解析
8、 Spark的调试与任务分配
9、 Spark与MapReduce对比分析
10、 Spark的容错机制剖析
11、 Spark集群部署
12、 Spark Shell
13、 构建与运行Spark应用
14、 Spark RDD操作剖析
15、 Shark基于Spark的综合应用
16、 Spark作业测试解析
17、 Spark的性能调优
18、 Spark生态体系剖析
19、 Spark应用现状
20、 Spark应用优势
21、 Spark应用案例
22、 Spark案例解析
第15个主题: 分布式流计算模型(深入剖析分布式流计算模型的实现原理及开发实战)
1、 Spark Streaming概述
2、 Spark Streaming原理剖析
3、 Spark Streaming流数据处理框架介绍
4、 Spark Streaming编程剖析
5、 初始化StreamingContext
6、 Discretized Streams (DStreams)
7、 输入DStreams与Receivers
8、 基于DStreams的Transformations
9、 基于DStreams的输出操作
10、 Accumulators和Broadcast Variables
11、 DataFrame和SQL操作
12、 MLlib操作
13、 Caching与Persistence
14、 Checkpointing
15、 运行Spark Streaming程序
16、 性能调优:减少批处理时间
17、 性能调优:设置正确的批处理间隔时间
18、 内存调优
19、 容错元语
20、 实战案例:Spark Streaming与Kafka整合实现数据实时数据分析处理设计与分析
第16个主题: 分布式流计算模型(深入剖析分布式流计算模型的实现原理)
1、 Storm基础知识
2、 Storm集群安装
3、 Storm打包运行测试
4、 Storm基本api介绍
5、 Storm Topology的并发度
6、 Storm消息机制原理讲解
7、 Storm DRPC实战讲解
8、 Storm Transaction原理
9、 Strom Trident编程
10、 Storm案例实战
第17个主题: Storm架构原理剖析与开发实战(深入剖析Storm架构原理与实现技术)
1、 Storm基本概念
2、 Storm逻辑架构
3、 Storm Topology的并发度
4、 进程拓扑关系
5、 Storm序列化
6、 Storm Topology并发度配置
7、 Storm核心API介绍
8、 Storm核心API编程
9、 Storm的Ack框架
10、 Storm消息机制原理讲解
11、 Spout的Tail特性
12、 Stream Groupings策略
13、 实例讲解Grouping策略及并发
14、 Storm在高压力场景下高可靠性实现
15、 Storm记录级容错的基本原理
16、 Storm DRPC整体工作流程
17、 DRPC实现框架
18、 Storm DRPC实战讲解
19、 Storm Windowing原理与实现
20、 滑动Windowing
21、 滚动Windowing
22、 Join Streams
23、 Storm RESTful API
24、 Storm多语言支持
25、 Storm Transaction原理
26、 Transactional Topology框架功能
27、 Storm事务API及案例分析
28、 Storm事务案例实战
第18个主题: Strom Trident剖析与开发实战(深入剖析Storm Trident实现原理及开发方法)
1、 Strom Trident介绍
2、 Trident API介绍
3、 Strom Trident消息
4、 Strom TridentTopology的构建器
5、 Strom Trident的SpoutNode
6、 Trident Spout类型
7、 Strom Trident的容错Spout
8、 Strom Trident操作与处理节点
9、 Strom Trident中的Bolt
10、 Strom Trident的存储
11、 Strom Trident流的基本操作
12、 Strom Trident中流的交互操作
13、 Strom Trident的执行优化
14、 Strom Trident与DRPC
15、 Strom Trident编程实战
第19个主题: 分布式并行计算引擎Impala(分布式计算引擎Impala的工作原理)
1、 分布式并行计算引擎概述
2、 Impala介绍
3、 Impala是什么
4、 Impala与Hive、Pig有何不同
5、 Impala与关系数据库有何不同
6、 Impala的限制和未来发展方向
7、 运用 Impala Shell
8、 Impala分布式集群部署
9、 Impala分布式架构原理
10、 Impala数据模型
11、 Impala作业基本运行原理
12、 Impala使用注意事项
13、 Impala DDL、DML、SQL、函数
14、 Impala作业资源占用
15、 案例:银行在线支付统计的案例
16、 Impala调优可概述
17、 Impala参数调优
18、 Impala SQL调优
19、 Impala分区调优
20、 其他常用调优方法
21、 数据倾斜处理方法
22、 Impala与Shark、Hive、Pig区别剖析
23、 案例:Impala调优案例
第20个主题: 如何研发分布式系统?(本主题强调一个好的分布式系统离不开真实的业务需求)
1、 深入分析企业业务数据特点
2、 TFS思想的应用
3、 事务剖析
4、 分布式事务剖析
5、 分布式系统的职责分离思想
6、 大数据+简单算法
7、 精准小数据+复杂算法
第21个主题: 分布式系统架构设计(介绍分布式系统架构设计需要遵循原则与设计技巧)
1、 CAP理论
2、 BASE思想
3、 日志结构文件系统
4、 RWN理论
5、 分布式系统迁移策略
a) 数据迁移
b) 计算迁移
6、 冷热分离原则
7、 算法优化策略
a) 读取+计算+显示
b) 读取+显示
8、 数据序列化
9、 RESTful架构剖析
Hadoop生态系统