科技>计算机>数据库
大数据平台架构  

大数据平台架构  "

作者:李昉
ISBN:9787121430671
定价:¥89.0
字数:416千字
页数:320
出版时间:2022-04
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书将为大家全面而深入地介绍Hadoop、Spark和NoSQL平台的构建,深入浅出地讲解Hadoop、Spark和NoSQL的基础知识、架构方案与实战技巧等。通过阅读本书,读者可以对大数据平台架构有一个明确、清晰的认识,掌握Hadoop、Spark、NoSQL平台的使用技巧,从而搭建一个安全可靠的大数据集群平台,来满足企业的实际需求。 本书共15章,可分为五大部分。第一部分(第1章)为大数据平台架构概述,讲述大数据平台的基本概念与实际应用;第二部分(第2章~第6章)主要讲解Hadoop的基本使用方法,以及Hadoop生态圈的其他组件;第三部分(第7章)主要介绍NoSQL;第四部分(第8章~第10章)主要介绍Spark生态圈与Spark实战案例;第五部分(第11章~第15章)讲解如何构建大数据平台,阐述大数据平台的几个核心模块,以及大数据平台的未来发展趋势。 本书可作为各类IT企业和研发机构的大数据工程师、架构师、软件设计师、程序员,以及相关专业在校学生的参考书。

前言

“大数据”这一概念最早由美国高性能计算公司SGI的首席科学家约翰·马西(John?Mashey)于1998年提出,2012年得到广泛使用。2014年,大数据概念体系逐渐成形,大数据相关技术、产品、应用和标准不断发展,形成了由数据基础设施、数据平台、数据架构、数据分析、数据应用等构成的大数据生态系统。 大数据为人类提供了全新的思维方式和探知客观规律的方法,使得数据从幕后慢慢走向前台。通过数据驱动产品设计、业务运营慢慢成为信息行业的共识。 大数据所涉及的领域十分广泛,很多初次进入相关领域的朋友会不知所措,因此,资深的工作在大数据平台构建、大数据产品建设一线的工程师,从自身经验出发,将以Lambda和Kappa为代表的数据计算框架架构方法、以Hadoop和Spark为主的数据平台建设方法作为本书的主线,并对MongoDB、Neo4j等其他大数据开源产品进行介绍,尽量全面体现大数据领域的架构方法、技术路线。 感谢新开普电子股份有限公司提供的运行本书中实验代码的大数据实验平台,以及炼数成金、电子工业出版社各位老师的全力支持。

目录

第1章 大数据平台架构概述 1 1.1 大数据平台的产生与应用 1 1.1.1 大数据平台的产生 1 1.1.2 大数据平台的应用 2 1.2 大数据平台架构 4 1.3 大数据处理系统经典架构 7 1.3.1 什么是Lambda架构 7 1.3.2 Lambda架构 8 1.3.3 Kappa架构 10 1.3.4 适用场景 10 第2章 大数据与Hadoop 12 2.1 Hadoop简介 12 2.1.1 Hadoop起源 12 2.1.2 Hadoop特点 13 2.1.3 Hadoop版本 13 2.2 Hadoop生态系统 14 2.2.1 Hadoop生态系统概况 15 2.2.2 Hadoop生态系统组成详解 16 2.3 Hadoop应用案例 21 2.3.1 Hadoop应用案例1:全球最大超市沃尔玛 21 2.3.2 Hadoop应用案例2:全球最大拍卖网站eBay 21 2.3.3 Hadoop应用案例3:全球最大信用卡公司Visa 22 2.4 Hadoop在国内的现状与未来 22 2.4.1 国内最早的Hadoop交流平台:Hadoop in China 22 2.4.2 国内Hadoop发展现状 22 2.4.3 国内Hadoop前景展望 25 第3章 开始使用Hadoop集群 26 3.1 Hadoop初探 26 3.1.1 使用Hadoop的先决条件 26 3.1.2 安装环境 27 3.1.3 安装并运行Hadoop 29 3.1.4 运行模式 30 3.1.5 Hadoop单机模式 31 3.1.6 Hadoop伪分布式模式 32 3.1.7 Hadoop完全分布式模式 36 3.1.8 Hadoop命令手册解读 39 3.2 HDFS基础和权限管理 45 3.2.1 HDFS特点 45 3.2.2 HDFS基本构成 46 3.2.3 HDFS使用原理 47 3.2.4 HDFS权限管理 48 3.3 MapReduce Job开发、运行与管理 49 3.3.1 为什么需要 MapReduce 49 3.3.2 MapReduce 1.X和MapReduce 2.X 49 3.3.3 MapReduce开发 55 3.3.4 MapReduce运行与管理 58 3.4 YARN管理 62 3.4.1 YARN简介 62 3.4.2 主要组件 64 3.4.3 ResourceManager组件 65 3.4.4 NodeManager组件 65 3.4.5 ApplicationMaster组件 66 3.4.6 Container组件 66 3.4.7 应用提交过程分析 66 第4章 Hadoop集群性能优化和维护 69 4.1 集群常用配置文件解读 69 4.1.1 配置文件 70 4.1.2 Hadoop核心配置文件core-site.xml 71 4.2 HDFS配置优化 78 4.2.1 dfsadmin 81 4.2.2 SecondaryNameNode 82 4.2.3 Rebalance与机架感知 83 4.2.4 安全模式、fsck、升级与回滚 84 4.2.5 集群与环境优化 85 4.3 MapReduce配置优化 86 4.3.1 Job配置 86 4.3.2 其他 91 4.4 YARN配置优化 91 4.4.1 YARN 91 4.4.2 Capacity Scheduler 92 4.4.3 Queue Properties 94 第5章 高可用配置 97 5.1 架构 97 5.2 使用NFS共享存储 98 5.3 Quorum-based存储+ZooKeeper 99 5.4 QJM 100 5.5 使用ZooKeeper进行自动故障转移 101 5.6 部署与配置 102 第6章 Hadoop其他组件 106 6.1 HBase介绍 106 6.1.1 概述 106 6.1.2 特点 107 6.1.3 架构 108 6.1.4 工作原理 108 6.1.5 安装与运行 110 6.1.6 基础操作 112 6.2 Hive介绍 113 6.2.1 概述 113 6.2.2 特点 114 6.2.3 数据结构 114 6.2.4 架构 115 6.2.5 工作原理 116 6.2.6 安装与运行 116 6.3 Pig介绍 118 6.3.1 概述 118 6.3.2 特点 119 6.3.3 运行模式 119 6.3.4 安装与运行 120 6.4 Sqoop介绍 121 6.4.1 概述 121 6.4.2 版本介绍 122 6.4.3 特点 122 6.4.4 安装与运行 123 6.4.5 工作原理 123 第7章 NoSQL 125 7.1 NoSQL介绍 125 7.2 NewSQL介绍 126 7.3 NoSQL应用场景 127 7.4 能承受海量压力的键值型数据库:Redis 128 7.5 处理非结构化数据的利器:MongoDB 128 7.6 图数据库:Neo4j 130 7.6.1 什么是图 130 7.6.2 什么是图数据库 130 7.6.3 Neo4j简介 130 第8章 Spark生态系统 132 8.1 Spark在大数据生态中的定位 132 8.1.1 Spark简介 132 8.1.2 Spark系统定位 135 8.1.3 基本术语 136 8.2 Spark主要模块介绍 138 8.2.1 Spark Core 138 8.2.2 Spark SQL 146 8.2.3 Spark Streaming 149 8.2.4 GraphX 150 8.2.5 MLlib 154 8.3 Spark部署模型介绍 156 第9章 Spark SQL实战案例 158 9.1 Spark SQL前世今生 158 9.1.1 大数据背景 158 9.1.2 Spark和Spark SQL的产生 159 9.1.3 版本更迭 159 9.2 RDD、DataFrame及Dataset 160 9.2.1 Spark SQL基础 161 9.2.2 Dataset、DataFrame、RDD的区别 167 9.3 使用外部数据源 168 9.3.1 读写文件 168 9.3.2 .parquet文件 169 9.3.3 ORC文件 174 9.3.4 JSON Dataset 174 9.4 连接Metastore 174 9.4.1 Hive table 174 9.4.2 和不同版本的Hive Metastore交互 175 9.4.3 JDBC连接其他数据库 176 9.5 自定义函数 178 9.5.1 聚合函数——非标准化类型(UnTyped)UADF开发 178 9.5.2 类型安全的自定义聚合函数——Type-safe的UDAF 180 9.6 Spark SQL与Spark Thrift server 183 9.6.1 分布式SQL引擎 183 9.6.2 HiveServer2服务 184 9.7 Spark SQL 优化 185 9.7.1 内存缓存数据 185 9.7.2 SQL查询中的Broadcast Hint 186 9.7.3 持久化RDD,选择存储级别 186 9.7.4 数据序列化选择 188 9.7.5 内存管理 189 9.7.6 其他考虑 192 第10章 Spark Streaming 195 10.1 Spark Streaming架构 195 10.2 DStream的特点 196 10.3 DStream的操作 197 10.3.1 DStream的输入操作 197 10.3.2 DStream的转换操作 199 10.4 StatefulRDD和windowRDD实战 201 10.4.1 StatelessRDD无状态转化操作 201 10.4.2 StatefulRDD有状态转化操作 206 10.5 Kafka+Spark Steaming实战 212 10.5.1 搭建Kafka环境 212 10.5.2 代码编写 213 10.6 Spark Streaming的优化 220 第11章 数据同步收集 224 11.1 从关系数据库同步数据到HDFS 224 11.1.1 Sqoop 225 11.1.2 DataX 226 11.2 Sqoop的使用 228 11.2.1 安装 228 11.2.2 MySQL环境驱动配置 229 11.2.3 导入数据 230 11.3 数据清洗 234 第12章 任务调度系统设计 239 12.1 初识任务调度 239 12.2 几种相对成熟的Java调度系统选择 242 12.2.1 Timer和TimerTask 242 12.2.2 ScheduledThreadPoolExecutor 244 12.2.3 Quartz 245 12.2.4 jcrontab 245 12.2.5 相对成熟的调度工具和开源产品 246 12.3 Quartz的介绍 250 12.3.1 Quartz的储备知识 251 12.3.2 Quartz的基本使用 251 12.3.3 Trigger的选择 252 12.3.4 JobStore 255 12.3.5 完整的例子 257 12.4 开源工具XXL-Job 258 12.4.1 搭建项目 258 12.4.2 运行项目 260 12.4.3 项目简单使用 263 12.4.4 高级使用和使用建议 267 第13章 调度系统选择 274 13.1 常用调度系统及对比 274 13.1.1 Oozie简介 274 13.1.2 Azkaban简介 275 13.1.3 Airflow简介 276 13.1.4 调度系统对比 277 13.2 Airflow基本架构设计 278 13.2.1 设计原则 278 13.2.2 Airflow的服务构成 278 13.2.3 依赖关系的解决 280 13.2.4 工作原理 280 13.3 Airflow任务调度系统的安装配置及使用 281 13.3.1 安装 281 13.3.2 配置 282 13.3.3 使用 285 13.4 Airflow自定义DAG的使用 286 第14章 数据安全管理 292 14.1 HDFS层面的访问权限及安全模式 292 14.1.1 HDFS权限管理 292 14.1.2 HDFS安全模式 293 14.1.3 ACL概念介绍 294 14.2 保障敏感数据的安全性 295 14.3 应用层面的安全性保障 297 第15章 大数据面临的挑战、发展趋势及典型案例 300 15.1 大数据面临的问题与挑战 300 15.1.1 大数据潜在的危害 300 15.1.2 开放与隐私如何平衡 301 15.1.3 大数据人才的缺乏 302 15.2 大数据发展趋势 302 15.2.1 大数据与电子商务 303 15.2.2 大数据与医疗 303 15.2.3 大数据与人工智能 304 15.2.4 工业大数据云平台 304 15.3 典型大数据平台案例 304 15.3.1 阿里云数加 304 15.3.2 华为Fusion Insight大数据平台 305 15.3.3 三一重工Witsight工业大数据平台 307

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个