Hadoop海量数据处理:技术原理与项目实践 版权信息
- ISBN:9787302666943
- 条形码:9787302666943 ; 978-7-302-66694-3
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 所属分类:>>
Hadoop海量数据处理:技术原理与项目实践 本书特色
国内某一线大厂资深大数据架构师多年项目实战经验的总结,理论结合实践,深入剖析Hadoop海量数据处理的核心技术。
内容全面:全面涵盖Hadoop基础知识和Hadoop分布式文件系统(HDFS),以及MapReduce分布式编程框架和YARN资源调度器等内容,帮助读者全面掌握Hadoop海量数据处理的核心技术。
讲解深入:不仅系统地剖析Hadoop海量数据处理技术原理,还从代码层面深入地分析Hadoop系统的实现过程,并分析HDFS和MapReduce的每一步操作,帮助读者洞悉其工作机制与运行原理。
实用性强:讲解理论知识时穿插100多个典型示例,帮助读者深入理解Hadoop海量数据处理技术的精髓。另外,通过Hadoop高可用集群搭建和经典的统计TopN案例构建两个实战项目,帮助读者上手实践,从而提高实际项目开发水平。
适用面广:无论是Hadoop初学者,还是开发人员、数据分析人员、大数据工程师和数据科学家等相关从业人员,都可以从本书中获得需要的知识和技能。
前瞻性强:基于Hadoop 3.x版写作,内容新颖,技术前瞻,不但介绍纠删码和NameNode Federation联邦机制等Hadoop 3.x的新特性,而且对比Hadoop不同版本之间的差异。
Hadoop海量数据处理:技术原理与项目实践 内容简介
《Hadoop海量数据处理》从Hadoop的基础知识讲起,逐步深入Hadoop分布式文件系统(HDFS)和MapReduce分布式编程框架的核心技术,帮助读者全面、系统、深入地理解Hadoop海量数据处理技术的精髓。本书在讲解技术原理时穿插大量的典型示例,并详解两个典型项目实战案例,帮助读者提高实际项目开发水平。《Hadoop海量数据处理》共15章,分为4篇。第1篇Hadoop基础知识,包括大数据概述、Hadoop概述、Hadoop环境搭建与配置;第2篇Hadoop分布式存储技术,包括HDFS概述、HDFS基础操作、HDFS的读写原理和工作机制、Hadoop 3.x的新特性;第3篇MapReduce分布式编程框架,包括MapReduce概述、MapReduce开发基础、MapReduce框架的原理、MapReduce数据压缩、YARN资源调度器、Hadoop企业级优化;第4篇项目实战,包括Hadoop高可用集群搭建实战和统计TopN经典项目案例实战。《Hadoop海量数据处理》通俗易懂、案例丰富、实用性强,适合Hadoop初学者和进阶人员阅读,也适合大数据工程师、数据分析工程师和数据科学家等大数据技术从业人员和爱好者阅读,还适合作为高等院校和相关培训机构的大数据教材。
Hadoop海量数据处理:技术原理与项目实践 目录
第1篇 Hadoop基础知识第1章 大数据概述 21.1 大数据简介 21.2 大数据的特点 21.3 大数据的发展前景 31.4 大数据技术生态体系 41.4.1 数据采集与传输类 41.4.2 数据存储与管理类 51.4.3 资源管理类 51.4.4 数据计算类 51.4.5 任务调度类 61.5 大数据部门的组织架构 61.6 小结 7第2章 Hadoop概述 8第1篇 Hadoop基础知识第1章 大数据概述 21.1 大数据简介 21.2 大数据的特点 21.3 大数据的发展前景 31.4 大数据技术生态体系 41.4.1 数据采集与传输类 41.4.2 数据存储与管理类 51.4.3 资源管理类 51.4.4 数据计算类 51.4.5 任务调度类 61.5 大数据部门的组织架构 61.6 小结 7第2章 Hadoop概述 82.1 Hadoop简介 82.2 Hadoop的发展历史 82.3 Hadoop的三大发行版本 92.4 Hadoop的优势 102.5 Hadoop各版本之间的区别 102.6 Hadoop的组成 112.6.1 HDFS架构简介 112.6.2 YARN架构简介 122.6.3 MapReduce架构简介 132.7 小结 14第3章 Hadoop环境搭建与配置 153.1 搭建开发环境 153.1.1 对操作系统的要求 153.1.2 对软件环境的要求 173.1.3 下载和安装JDK 183.1.4 配置JDK环境变量 193.1.5 下载和安装Hadoop 193.1.6 配置Hadoop的环境变量 193.1.7 配置Hadoop的系统参数 203.1.8 解读Hadoop的目录结构 213.2 配置本地运行模式 223.2.1 在Linux环境下运行Hadoop官方的Grep案例 223.2.2 在Linux环境下运行Hadoop官方的WordCount案例 233.2.3 在Windows环境下搭建Hadoop 233.2.4 在Windows环境下运行WordCount案例 253.3 配置伪分布式模式 263.3.1 启动HDFS并运行MapReduce程序 263.3.2 启动YARN并运行MapReduce程序 313.3.3 配置历史服务器 353.3.4 配置日志的聚集功能 363.4 配置完全分布式模式 383.4.1 分布式集群环境准备 393.4.2 配置完全分布式集群 423.4.3 配置Hadoop集群单点启动 463.4.4 测试完全分布式集群 473.4.5 配置Hadoop集群整体启动 483.4.6 配置Hadoop集群时间同步 503.5 小结 52第2篇 Hadoop分布式存储技术第4章 HDFS概述 544.1 HDFS的背景和定义 544.1.1 HDFS产生的背景 544.1.2 HDFS的定义 544.2 HDFS的优缺点 554.2.1 HDFS的优点 554.2.2 HDFS的缺点 564.3 HDFS的组成架构 564.4 设置HDFS文件块的大小 584.5 小结 59第5章 HDFS基础操作 605.1 HDFS的Shell命令操作 605.1.1 HDFS的帮助命令 605.1.2 显示HDFS的目录信息 625.1.3 创建HDFS目录 625.1.4 将本地文件复制到HDFS中 625.1.5 将HDFS中的文件复制到本地文件系统中 635.1.6 输出HDFS文件内容 635.1.7 追加HDFS文件内容 645.1.8 修改HDFS文件操作权限 655.1.9 将本地文件移动至HDFS中 655.1.10 复制HDFS文件 665.1.11 移动HDFS文件 665.1.12 上传HDFS文件 675.1.13 下载HDFS文件 675.1.14 删除文件或目录 675.1.15 批量下载HDFS文件 685.1.16 显示文件的末尾 685.1.17 统计目录的大小 695.1.18 设置HDFS中的文件副本数量 695.2 HDFS的API调用操作 695.2.1 准备开发环境 695.2.2 通过API创建目录 725.2.3 通过API上传文件 735.2.4 通过API下载文件 735.2.5 通过API删除目录 745.2.6 通过API修改文件名称 745.2.7 通过API查看文件详情 755.2.8 通过API判断文件和目录 765.2.9 通过I/O流上传文件 775.2.10 通过I/O流下载文件 775.2.11 通过I/O流定位文件读取位置 785.3 小结 79第6章 HDFS的读写原理和工作机制 806.1 剖析HDFS的写数据流程 806.1.1 剖析文件写入流程 806.1.2 计算网络拓扑节点的距离 826.1.3 机架感知 836.2 剖析HDFS的读数据流程 836.3 剖析NameNode和SecondaryNameNode 的工作机制 856.3.1 解析NN和2NN的工作机制 856.3.2 解析FsImage和Edits文件 886.3.3 CheckPoint时间设置 946.3.4 NameNode故障处理 956.3.5 集群安全模式 976.3.6 NameNode多目录配置 996.4 剖析DataNode 1006.4.1 解析DataNode的工作机制 1006.4.2 保证数据的完整性 1016.4.3 设置掉线时限参数 1026.4.4 服役新的数据节点 1026.4.5 退役旧的数据节点 1096.4.6 DataNode多目录配置 1116.5 小结 112第7章 Hadoop 3.x的新特性 1137.1 纠删码技术 1137.1.1 探究纠删码技术原理 1137.1.2 简述纠删码模式布局方案 1137.1.3 解读纠删码策略 1147.1.4 查看纠删码 1157.1.5 设置纠删码 1157.2 复制HDFS集群间的数据 1167.2.1 采用scp实现HDFS集群间的数据复制 1167.2.2 采用distcp实现HDFS集群间的数据复制 1167.3 解决海量小文件的存储问题 1167.3.1 HDFS存储小文件的弊端 1177.3.2 将海量小文件存储为HAR文件 1177.4 配置HDFS回收站 1187.4.1 回收站的功能参数说明 1187.4.2 解析回收站的工作机制 1197.4.3 开启回收站的功能 1197.4.4 修改访问回收站的用户名称 1197.4.5 测试回收站的功能 1207.4.6 恢复回收站中的数据 1207.4.7 清空回收站 1217.5 HDFS快照管理 1217.6 小结 122第3篇 MapReduce分布式编程框架第8章 MapReduce概述 1248.1 MapReduce的定义 1248.2 MapReduce的优缺点 1248.2.1 MapReduce的优点 1248.2.2 MapReduce的缺点 1258.3 MapReduce的核心编程思想 1268.3.1 深入理解核心思想 1268.3.2 MapReduce进程解析 1288.4 官方的WordCount源码解析 1288.5 小结 131第9章 MapReduce开发基础 1329.1 Hadoop的序列化概述 1329.1.1 序列化与反序列化的定义 1329.1.2 进行序列化的原因 1329.1.3 Hadoop序列化的特点 1329.2 数据序列化的类型 1329.2.1 基本类型 1339.2.2 集合类型 1339.2.3 用户自定义类型 1339.2.4 序列化类型案例实战 1349.3 如何开发MapReduce程序 1439.3.1 MapReduce编程规范 1439.3.2 WordCount案例实战 1449.4 小结 152第10章 MapReduce框架的原理 15310.1 InputFormat数据输入解析 15310.1.1 切片与MapTask的并行度决定机制 15310.1.2 FileInputFormat的切片机制解析 15410.1.3 CombineTextInputFormat的切片机制 15510.1.4 CombineTextInputFormat案例实战 15710.1.5 归纳FileInputFormat的其他子类 16510.1.6 KeyValueTextInputFormat案例实战 16710.1.7 NLineInputFormat案例实战 17510.1.8 自定义InputFormat案例实战 18410.2 解析MapReduce的工作流程 19410.3 剖析Shuffle的工作机制 19810.3.1 Shuffle机制简介 19810.3.2 Partition分区简介 19910.3.3 Partition分区案例实战 19910.3.4 WritableComparable排序简介 21010.3.5 WritableComparable全排序案例实战 21110.3.6 WritableComparable区内排序案例实战 22110.3.7 Combiner合并简介 23010.3.8 Combiner合并案例实战 23110.3.9 GroupingComparator分组简介 23810.3.10 GroupingComparator分组案例实战 23810.4 剖析MapTask的工作机制 24710.5 剖析ReduceTask的工作机制 24810.6 OutputFormat数据输出类详解 24910.6.1 OutputFormat接口实现类简介 25010.6.2 自定义OutputFormat接口实现类案例实战 25010.7 Join的多种应用 25810.7.1 Reduce Join案例实战 25810.7.2 Map Join案例实战 26710.8 小结 277第11章 MapReduce数据压缩 27811.1 数据压缩概述 27811.2 MapReduce支持的压缩编码器 27811.3 选择压缩方式 27911.3.1 Gzip压缩 28011.3.2 Bzip2压缩 28011.3.3 LZO压缩 28011.3.4 Snappy压缩 28011.4 配置压缩参数 28111.5 压缩实战案例 28111.5.1 实现数据流的压缩和解压缩 28111.5.2 实现Map输出端压缩 28511.5.3 实现Reduce输出端压缩 28711.6 小结 290第12章 YARN资源调度器 29112.1 解析YARN的基本架构 29112.2 剖析YARN的工作机制 29212.3 作业提交全过程 29512.4 资源调度器的分类 29612.5 任务的推测执行 29812.6 小结 299第13章 Hadoop企业级优化 30013.1 HDFS优化 30013.2 MapReduce优化 30113.2.1 剖析MapReduce程序运行慢的原因 30113.2.2 MapReduce的优化方法 30213.3 小结 304第4篇 项目实战第14章 Hadoop高可用集群搭建实战 30614.1 HA高可用简介 30614.2 HDFS-HA的工作机制 30714.2.1 HDFS-HA的工作要点 30714.2.2 HDFS-HA的自动故障转移工作机制 30814.3 搭建HDFS-HA集群 31014.3.1 准备集群环境 31014.3.2 规划集群节点 31214.3.3 下载和安装JDK 31314.3.4 配置JDK环境变量 31314.3.5 安装ZooKeeper集群 31414.3.6 配置ZooKeeper集群 31414.3.7 启动ZooKeeper集群 31514.3.8 配置HDFS-HA集群 31614.3.9 配置HDFS-HA自动故障转移 31914.4 搭建YARN-HA集群 32014.4.1 YARN-HA集群的工作机制 32014.4.2 配置YARN-HA集群 32114.5 小结 323第15章 统计TopN经典项目案例实战 32415.1 项目案例构建流程 32415.1.1 创建输入文件 32415.1.2 搭建一个Maven工程 32515.1.3 定义序列化对象 32915.1.4 编写Mapper文件 33015.1.5 编写Reducer文件 33215.1.6 编写Driver文件 33315.1.7 打包Maven工程 33415.1.8 启动Hadoop集群 33415.1.9 运行TopN程序 33515.2 小结 336 Hadoop海量数据处理:技术原理与项目实践 目录 ·VI· ·XI·
展开全部
Hadoop海量数据处理:技术原理与项目实践 作者简介
许政 毕业于哈尔滨工业大学,获硕士学位。现居深圳,任某一线大厂大数据架构师。参加工作以来,带领团队完成了多个百亿级大数据平台的建设。在实时计算方面有深厚的实践经验。熟悉多种大数据技术框架,如Hadoop、Spark、Flink、Elasticsearch、Kafka、HBase、ZooKeeper等。被CSDN评为优秀博主,撰写了大数据技术相关博文100余篇,博客访问量高达240多万。运维自己的独立博客网站。在大数据实时处理技术和人工智能算法方面有深入的研究,申请发明专利10余项。