培训时长 | 0 |
授课对象 | 网络部、大数据系统开发部、大数据中心、网络运维部等相关技术人员。 |
授课方式 | 内训 |
掌握Hadoop平台中常用模块的工作原理及开发应用技术
第一部分:Hadoop的基本框架 1、大数据时代面临的问题 2、当前解决大数据的技术方案 3、Hadoop架构和云计算 4、Hadoop简史及安装部署 5、Hadoop设计理念和生态系统 第二部分:HDFS分布式文件系统:海量数据存储的摇篮 1、HDFS的设计目标 2、HDFS的基本架构 Ø NameNode名称节点 Ø SecondaryNameNode第二名称节点 Ø DataNode数据节点 3、HDFS的存储模型 Ø 数据块存储 Ø 元数据存储(空间镜像与编辑日志) Ø 多副本存储 4、多副本放置策略 5、多数据节点管理机制与交互过程 6、文件系统操作与管理 Ø 读文件过程 Ø 写文件过程(数据流管道) 7、数据完整性机制 Ø 数据校验和 Ø 数据完整性扫描线程 Ø 元数据备份与合并 8、数据可靠性设计 Ø 安全模式(数据块与节点映射关系管理) Ø 心跳检测机制(节点失效管理) Ø 租约机制(多线程并发控制) 9、其它 Ø HDFS的安全机制 Ø 负载均衡 Ø 文件压缩 10、 操作接口与编程接口 Ø HDFS Shell Ø HDFS Commands Ø WebHDFS REST API Ø HDFS Java API 演练:HDFS文件操作命令 演练:HDFS编程示例 第三部分:MapReduce分布式计算系统:海量数据处理的利器 1、MapReduce的三层设计理念 Ø 分布治之的设计思想(Map与Reduce) Ø 数据处理引擎(编程模型) Ø 运行时环境(任务调度与执行) 2、MapReduce的基本架构 Ø JobTracker作业跟踪器 Ø TaskTracker任务跟踪器 Ø MapReduce与HDFS的部署关系 3、MapReduce编程模型概述 Ø 编程接口介绍 Ø Hadoop工作流实现原理 4、MapReduce作业调度机制 Ø MapReduce作业生命周期 Ø 作业调度策略 Ø 静态资源管理方案 5、数据并行处理机制(五步骤) Ø Input阶段实现 Ø Map阶段实现 Ø Shuffle阶段实现 Ø Reduce阶段实现 Ø Output阶段 6、MapReduce容错机制 Ø 任务失败与重新尝试 Ø 节点失效与重调度 Ø 单点故障 7、MapReduce性能优化 Ø 优化方向与思路 Ø 磁盘IO性能优化 Ø 分片优化 Ø 线程数量优化 Ø 内存优化 Ø 压缩优化 8、MapReduce操作接口 Ø Job Shell Ø Web UI 案例演练:MapReduce编程示例 9、YARN:下一代通用资源管理系统 Ø MRv1的局限性 Ø YARN基本框架 Ø NN HA:解决单点故障 Ø HDFS Federation:解决扩展性问题 第四部分:HBase非关系型数据库:海量数据的黎明 1、HBase的使用场景 2、HBase的基本架构 Ø Zookeeper分布式协调服务器 Ø Master主控服务器 Ø Region Server区域服务器 3、HBase的数据模型 Ø HBase的表结构 Ø 行键、列键、时间戳 4、HBase的存储模型 Ø 基本单位Region Ø 存储格式HFile 5、数据分裂机制Split 6、数据合并机制Compaction Ø minor compaction Ø major compaction 7、HLog写前日志 8、数据库读写操作 Ø 数据库写入 Ø 数据库读取 Ø 三次寻址 9、HBase操作接口 Ø Native Java API Ø HBase Shell Ø 批量加载工具 Ø HiveQL操作 10、 HBase性能优化 Ø 写速度优化 Ø 读速度优化 11、 HBase集群监控与管理 案例演练:HBase命令操作实例 第五部分:Hive分布式数据仓库:高级的编程语言 1、Hive是什么 2、Hive与关系数据库的区别 3、Hive系统架构 Ø 用户接口层 Ø 元数据存储层 Ø 驱动层 4、Hive常用服务 5、Hive元数据的三种部署模式 6、Hive的命名空间 7、Hive数据类型与存储格式 Ø 数据类型 Ø TextFile/SequenceFile/RCFile 8、Hive的数据模型 Ø 管理表 Ø 外部表 Ø 分区表 Ø 桶表 9、HQL语言命令实例 Ø DDL数据定义语言 Ø DML数据操作语言 Ø QUERY数据查询语言 10、 Hive自定义函数 Ø 基本函数(UDF) Ø 聚合函数(UDAF) Ø 表生成函数(UDTF) 11、 Hive性能优化 Ø 动态分区 Ø 压缩 Ø 索引 Ø JVM重用 案例演练:Hive命令操作实例 第六部分:Sqoop数据交互工具:Hadoop与传统数据库的桥梁 1、Sqoop是什么 2、Sqoop的架构和功能 Ø Sqoop1架构 Ø Sqoop2架构 3、数据双向交换 Ø 数据导入过程 Ø 数据导出过程 4、数据导入工具与命令介绍 案例演练:Sqoop数据导入/导出实际操作 第七部分:Pig数据流处理引擎:数据脚本语言 1、Pig介绍 2、命令行交互工具Grunt 3、Pig数据类型 4、Pig Latin脚本语言介绍 Ø 基础知识 Ø 输入和输出 Ø 关系操作 Ø 调用静态Java函数 5、Pig Latin高级应用 6、开发与测试Pig Latin脚本 Ø 开发工具 Ø 任务状态监控 Ø 调试技巧 7、脚本性能优化 8、用户自定义函数UDF 案例演练:Pig Latin脚本编写、测试与运行操作 结束:课程总结与问题答疑。