猜你喜欢
海量数据处理与大数据技术实战

海量数据处理与大数据技术实战

书籍作者:冰河 ISBN:9787301313398
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5343
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

  《海量数据处理与大数据技术实战》是大数据开发领域中以实战案例为主旨的经典之作。本书全面阐述了大数据开发领域中常用的技术原理和框架,以及框架对应的实战案例。全书共分为四大篇章:大数据基础篇、大数据离线批处理技术篇、大数据在线实时处理技术篇、大数据处理实战案例篇。大数据基础篇主要介绍了大数据的基础知识、Hadoop和Storm的基础知识以及发展现状和应用前景;大数据离线批处理技术篇主要介绍了Hadoop、Hive和Sqoop的基本原理、环境搭建和项目案例;大数据在线实时处理技术篇主要介绍了Flume、Kafka、Storm的基本原理、环境搭建和项目案例;大数据处理实战案例篇详细介绍了基于海量日志数据的分析统计系统的实现过程,期间对各种大数据框架进行了整合,此案例项目稍加修改,便可应用于实际开发项目中。

作者简介
冰河(本名刘亚壮),大数据架构师,编程专家,拥有多年的项目架构和实战经验,多年来致力于分布式系统、微服务、分布式数据库、大数据技术的研究,在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的实战经验,对Hadoop、Spark、Storm等大数据框架源码进行过深度分析并具有丰富的实战经验。
编辑推荐
1. 热门:涵盖大数据开发领域的常用热门技术和主流框架,包括Hadoop、Hive、Sqoop、Flume、Kafka、Storm、Zookeeper、MySQL、Redis、ActiveMQ等,详细讲解了其基础知识、发展现状和应用前景。
2. 详尽:从基本原理到环境搭建,再到编程案例,完整讲解了大数据离线批处理处理技术和大数据在线实时处理技术。
3. 图解:讲解每种技术框架时都配有大量的框架架构图和执行流程图,并为相关的技术框架配有详细的开发案例。
4. 实用:案例系统分别采用离线批处理计算技术和在线实时计算技术实现,几乎整合了本书中所涉及的所有大数据框架,对此系统案例稍加修改,便可用于实际的项目开发中。
前言
为什么要写这本书?
随着大数据技术和云计算技术的发展,Hadoop大数据生态系统中的各项技术越来越流行,已然成为大数据开发领域的事实标准。特别是Hadoop大数据生态系统中各项技术的开源特性,使得其核心技术和各种解决方案得到了广泛的应用。程序员要想进入大数据开发领域,除了需要有扎实的编程基础外,还要融会贯通各种大数据框架,最好还要熟悉大数据领域中有典型意义和实用价值的各类开发案例,这样才能在竞争日益激烈的大数据市场环境中具备较强的竞争力。
目前,图书市场上关于大数据技术的图书很多,但是真正从实战应用出发,同时深入剖析大数据离线批处理计算领域和在线实时计算领域常用的大数据框架技术原理和编程案例的图书却很少。本书以实战案例为主旨,通过详细介绍大数据开发中常用的多种技术框架和其对应的大量开发案例,并在大数据处理实战案例篇整合多种大数据技术框架,来实现基于海量日志数据的分析统计系统(涵盖大数据离线批处理计算技术和大数据在线实时计算技术),让读者更加全面、深入、透彻地理解大数据开发领域中各种热门技术和主流框架的使用,提高读者对各种大数据框架的整合能力,进而提高大数据开发水平和项目实战能力。
本书有何特色?
1.大量图解和开发案例
为了方便读者的理解,本书在介绍每种技术框架时都配有大量的框架架构图和执行流程图,并为相关的技术框架配有详细的开发案例。这些框架架构图和执行流程图的Viso文件原件和案例开发源码收录于随书资料中。
2.涵盖大数据开发领域的常用热门技术和主流框架及各框架的整合使用
本书涵盖Hadoop、Zookeeper、Hive、Sqoop、Flume、Kafka和Storm等热门大数据开源技术框架,以及Hadoop+Zookeeper、Hadoop+Zookeeper+Hive、Hadoop+Zookeeper+Hive+ MySQL、Hadoop+Zookeeper+Sqoop+MySQL、Hadoop+Zookeeper+Hive+Sqoop+MySQL、Flume+Hadoop、Flume+Hive、Flume+Kafka、Kafka+Zookeeper、Storm+Zookeeper和Flume+
Kafka+Storm+Zookeeper+ActiveMQ+Redis+MySQL等大数据技术框架和数据库的整合使用。
3.对大数据框架做了基本的原理分析
本书每讲解一个大数据框架时,都会先对框架的基本原理和环境搭建做基本介绍,以便读者更加深入地理解框架的项目案例。
4.案例应用性强
本书对每种技术框架都配有相关的案例,都是相关框架常用的典型案例,具有较强的实用性。每个案例项目都是独立的,方面读者随时查阅和参考。
5.实战项目具有较高的应用价值
本书中大数据处理实战案例篇的基于海量日志数据的分析统计系统来源于笔者所开发的实际项目,本书对其进行了一定的简化,具有很高的实际应用价值和参考价值。另外,案例系统分别采用离线批处理计算技术和在线实时计算技术实现,几乎整合了本书中所涉及的所有大数据框架,便于读者融会贯通地理解本书中所介绍的大数据框架技术。对此系统案例稍加修改,便可用于实际的项目开发中。
本书内容及知识体系
第1篇 大数据基础篇(第1~3章)
本篇主要对大数据的基础知识、Hadoop和Storm的基础知识和基本技术,以及应用现状和发展趋势进行简单介绍。
第2篇 大数据离线批处理技术篇(第4~11章)
本篇主要介绍的是大数据离线批处理计算领域所涉及的技术和框架,包括Hadoop、Hive和Sqoop。分别介绍每种框架的基本原理和使用案例,包括安装CentOS 6.8虚拟机环境、搭建每种框架的运行环境、分别以命令行和API方式实现HDFS的数据操作、以Java语言和Python语言实现多个Hadoop MapReduce开发案例、使用HiveQL操作Hive中的数据库和数据表,以及自定义Hive函数、使用Sqoop实现HDFS与MySQL之间的数据导入/
导出。
第3篇 大数据在线实时处理技术篇(第12~17章)
本篇主要介绍大数据在线实时计算领域所涉及的技术和框架,包括Flume、Kafka和Storm。分别介绍每种框架的基本原理和使用案例,包括搭建每种框架的运行环境,Flume基于内存、文件和目录的Channel,Flume写数据到HDFS和Kafka,Flume采集Nginx日志到Hive,Flume采集Nginx日志到多个目标系统,自定义Flume的Agent,Flume监控,分别使用Java语言和Python语言实现Kafka客户端编程,使用Storm实现单词计数、追加字符串、聚合多种数据流、分组聚合、事务处理、监控等。
第4篇 大数据处理实战案例篇(第18~22章)
本篇主要介绍基于海量日志数据的分析统计系统的开发过程,以及系统的项目背景。在实现上将系统分为离线批处理计算子系统和在线实时计算子系统,分别介绍两个子系统的需求、架构设计、功能设计、存储选型、技术选型、环境搭建和具体的系统实现过程。
随书资料内容介绍
为了方便读者阅读本书,本书附带随书资料,内容如下。
. 书中所有案例项目源码。
. 书中所有的插图Viso文件。
可通过扫描下方二维码关注微信公众号,根据相应提示获取。


适合阅读本书的读者
. 在校大学生。
. 专业培训机构的学员。
. 想转行从事大数据开发的人员。
. 需要系统学习大数据技术的开发人员。
. 大数据从业者。
. 大数据运维工程师。
. 希望提高大数据开发实战水平的人员。
. 大数据开发经理。
. 大数据架构师。
. 需要时常查阅大数据常用框架技术和开发案例的人员。
阅读本书的建议
. 没有大数据开发基础的读者,建议按照顺序从第1章开始阅读,并实现每一个案例。
. 有一定大数据开发基础的读者,可以根据自身实际情况,选择性地阅读各个大数据框架的项目案例。
. 对于本书涉及的每个大数据框架项目案例,读者可以先自行思考实现方式,再阅读相关的项目案例,可达到事半功倍的学习效果。
. 读者可以先阅读本书涉及的大数据框架项目案例,再阅读各框架对应的原理细节,这样理解起来会更加深刻。
勘误和支持
尽管笔者对技术有着很高的追求,但是由于大数据领域中的各种技术和框架涉及的知识点众多,因此一本书籍很难涵盖所有的知识点和功能点。如果笔者有书写不妥的地方,恳请读者能够及时批评和指正。如果读者对本书有好的建议或者想法,也可以联系笔者。笔者的联系方式如下。
邮箱:[email protected]
微信:sun_shine_lyz。
致谢
感谢国内知名开源分布式数据库中间件Mycat创始人Leader us、阿里巴巴技术专家涯海、蚂蚁金服工程师黄小邪和LINUXPROBE刘遄(排名不分先后)对我的支持和帮助,以及对本书的大力推荐。
感谢我的团队以及许许多多一起合作过和交流过的朋友们,感谢CSDN博客的粉丝和那些在我的博客和公众号鼓励过我的朋友。
感谢我的家人,他们都在以自己的方式在我写作期间默默地给予支持与鼓励。
感谢出版社的各位编辑的辛勤劳作,没有他们的辛勤付出,就不会有本书的出版。
目录
第1篇 大数据基础篇

第1章 大数据处理概论 1
1.1 大数据的定义 2
1.2 大数据的结构类型 3
1.3 大数据处理平台的基础架构 4
1.4 大数据处理中的存储技术 6
1.4.1 提升大数据存储的容量 6
1.4.2 提升大数据存储的吞吐量 6
1.4.3 提升大数据存储的扩展 8
1.5 大数据处理中的计算技术 8
1.5.1 多处理技术 9
1.5.2 并行计算 9
1.5.3 高并发计算 9
1.5.4 离线批处理计算 9
1.5.5 在线实时计算 10
1.6 大数据处理中的容错性 10
1.6.1 数据存储的容错性 10
1.6.2 数据计算的容错性 12
1.7 大数据处理中的安全性 12
1.7.1 数据存储的安全性 13
1.7.2 数据计算的安全性 13
1.8 大数据行业应用案例 13
1.8.1 淘宝的千人千面系统 14
1.8.2 滴滴出行的车辆调度系统 14
1.9 本章总结 14
第2章 离线批处理技术——Hadoop 15
2.1 Google核心云计算技术 16
2.1.1 MapReduce编程模型 16
2.1.2 分布式文件系统 17
2.1.3 分布式结构化数据存储
   BigTable 20
2.2 Hadoop云计算技术 21
2.2.1 Hadoop概述 22
2.2.2 Hadoop核心组件 22
2.2.3 Hadoop生态圈 24
2.2.4 Hadoop物理架构 26
2.2.5 Hadoop的原理和运行机制 27
2.2.6 Hadoop相关技术与概述 30
2.2.7 Hadoop的局限性 31
2.3 本章总结 32
第3章 在线实时处理技术——Storm 33
3.1 Storm的定义 34
3.2 Storm的诞生 34
3.2.1 诞生背景 34
3.2.2 Twitter使用Storm 34
3.3 Storm的发展 35
3.4 Storm的基本组件 35
3.4.1 Storm核心组件 35
3.4.2 Storm集群组成 36
3.4.3 Storm分组策略 37
3.5 Storm的可靠性 38
3.6 Storm的特性 40
3.7 其他流式处理框架 41
3.7.1 Apache S4 41
3.7.2 Spark Streaming 41
3.8 Storm的应用现状和发展趋势 42
3.8.1 Storm的应用现状 42
3.8.2 Storm的发展趋势 43
3.9 本章总结 43

第2篇 大数据离线批处理技术篇

第4章 Hadoop环境准备 44
4.1 Hadoop发行版本的选择 45
4.1.1 Apache Hadoop 45
4.1.2 CDH 45
4.1.3 Hadoop版本 45
4.1.4 如何选择Hadoop版本 47
4.2 Hadoop原理 47
4.2.1 HDFS原理 48
4.2.2 Hadoop MapReduce原理 51
4.2.3 Hadoop YARN原理 51
4.3 Hadoop架构 53
4.3.1 HDFS架构 53
4.3.2 Hadoop MapReduce架构 55
4.3.3 Hadoop YRAN架构 56
4.4 安装CentOS虚拟机 57
4.4.1 安装VMWare虚拟机 57
4.4.2 安装CentOS虚拟机 59
4.4.3 修改主机名 66
4.4.4 配置静态IP地址 67
4.4.5 配置主机名和IP地址的
   映射关系 69
4.4.6 关闭防火墙 70
4.4.7 配置SSH免密码登录 70
4.5 本章总结 72
第5章 安装配置Hadoop 73
5.1 添加Hadoop用户身份 74
5.1.1 添加Hadoop用户组和用户 74
5.1.2 赋予Hadoop用户目录权限 74
5.1.3 赋予Hadoop用户sodu
   权限 74
5.1.4 赋予Hadoop用户登录密码 75
5.1.5 配置Hadoop用户SSH
   免密码登录 75
5.2 Hadoop的安装模式 75
5.2.1 本地模式 75
5.2.2 伪集群模式 76
5.2.3 集群模式 76
5.3 JDK的安装和配置 76
5.3.1 下载JDK 77
5.3.2 上传JDK到CentOS虚拟机 77
5.3.3 安装并配置JDK 78
5.4 Hadoop的本地模式安装和配置 80
5.4.1 下载Hadoop安装包 80
5.4.2 安装并配置Hadoop环境 81
5.4.3 以本地模式配置Hadoop 82
5.4.4 验证Hadoop本地模式是否
   安装成功 82
5.5 Hadoop的伪集群模式安装和配置 84
5.5.1 以伪集群模式配置Hadoop 84
5.5.2 格式化NameNode 86
5.5.3 启动Hadoop 87
5.5.4 以浏览器方式验证环境搭建
   是否成功 87
5.5.5 运行MapReduce程序验证
   环境搭建是否成功 88
5.6 Hadoop集群模式的安装和配置
(完全生产环境) 90
5.6.1 服务器规划 90
5.6.2 Hadoop集群环境的准备 91
5.6.3 安装并配置集群环境下的
   JDK 93
5.6.4 搭建并配置Zookeeper集群 94
5.6.5 搭建并配置Hadoop集群 96
5.6.6 启动Zookeeper集群 103
5.6.7 启动Hadoop集群(1) 104
5.6.8 启动Hadoop集群(2) 109
5.6.9 测试Hadoop HA的
   高可用性 111
5.7 Hadoop集群模式的安装和配置
(精简版) 114
5.7.1 服务器规划 115
5.7.2 搭建并测试Hadoop
   集群环境 115
5.8 搭建Hadoop环境遇到的问题及
解决方案 116
5.8.1 以root用户启动Hadoop
   的问题 116
5.8.2 权限被拒绝 117
5.8.3 sudo命令异常 117
5.8.4 Hadoop 3.x端口变动 118
5.8.5 Hadoop 3.x未能找到或加载
   MRAppMaster类 118
5.8.6 未能加载native-hadoop library
   的警告 120
5.8.7 Hadoop 3.x运行自带的
   wordcount报错 120
5.8.8 Hadoop命令变动 122
5.9 Hadoop集群动态增加和删除
节点 123
5.9.1 准备工作 123
5.9.2 动态添加DataNode和
   NodeManager 124
5.9.3 动态删除DataNode与
   NodeManager(1) 127
5.9.4 动态删除DataNode与
   NodeManager(2) 129
5.10 Hadoop目录结构说明 130
5.11 本章总结 130
短评

东西不错,非常信赖,一如既往的好

2020-09-02 15:56:53

不错,,,,,,,,,,,,,,,

2020-09-02 18:53:19

书里有大量的实战案例,可以跟着一步一步慢慢做,对初学者很友好,以Hadoop框架为主,逻辑很严谨,代码很详细,是一本好书

2020-08-25 16:28:24

产品特色