具体描述
基本信息
作者: 朱凯
丛书名: 大数据技术丛书
出版社:机械工业出版社
ISBN:9787111595953
上架时间:2018-4-9
出版日期:2018 年4月
开本:16开
版次:1-1
目录
推荐序 思者常新,厚积薄发
前 言
第1章 浅谈企业级大数据平台的重要性 1
1.1 缺乏统一大数据平台的问题 2
1.1.1 资源浪费 2
1.1.2 数据孤岛 2
1.1.3 服务孤岛 3
1.1.4 安全存疑 3
1.1.5 缺乏可维护性和可扩展性 3
1.1.6 缺乏可复制性 4
1.2 构建统一大数据平台的优势 4
1.3 企业级大数据平台需要具备的基本能力 6
1.3.1 集群管理与监控 7
1.3.2 数据接入 7
1.3.3 数据存储与查询 7
1.3.4 数据计算 8
1.3.5 平台安全与管理 10
1.4 平台辅助工具 12
1.5 本章小结 13
第2章 企业级大数据平台技术栈介绍 15
2.1 HDFS 16
2.1.1 概述 16
2.1.2 RAID技术 17
2.1.3 核心设计目标 18
2.1.4 命名空间 19
2.1.5 数据模型 20
2.1.6 Namenode和Datanode 20
2.1.7 使用场景 21
2.2 Zookeeper 22
2.2.1 概述 22
2.2.2 核心特性 23
2.2.3 命名空间 24
2.2.4 数据模型 24
2.2.5 节点状态监听 25
2.2.6 原子消息广播协议 25
2.2.7 使用场景 32
2.3 HBase 33
2.3.1 概述 33
2.3.2 数据模型 34
2.3.3 Regions 34
2.3.4 HBase Master 35
2.3.5 Region Server 36
2.3.6 MemStore与HFile 37
2.3.7 使用场景 37
2.4 YARN 38
2.4.1 概述 38
2.4.2 资源模型和Container 40
2.4.3 ResourceManager 40
2.4.4 ApplicationMaster 40
2.4.5 NodeManager 41
2.4.6 单一集群架构 41
2.4.7 工作流程 41
2.4.8 使用场景 43
2.5 Spark 43
2.5.1 概述 43
2.5.2 数据模型 45
2.5.3 编程模型和作业调度 45
2.5.4 依赖 46
2.5.5 容错 47
2.5.6 集群模式 47
2.5.7 使用场景 48
2.6 本章小结 49
第3章 使用Ambari安装Hadoop集群 50
3.1 概述 50
3.2 集群设计 52
3.2.1 主控节点 52
3.2.2 存储与计算节点 53
3.2.3 安全认证与管理节点 54
3.2.4 协同管理与其他节点 54
3.3 Ambari的安装、配置与启动 55
3.3.1 安装前的准备 55
3.3.2 安装Ambari-Server 62
3.3.3 Ambari-Server目录结构 64
3.3.4 配置Ambari-Server 65
3.3.5 启动Ambari-Server 66
3.4 新建集群 67
3.4.1 设置集群名称并配置HDP安装包 67
3.4.2 配置集群 69
3.5 Ambari控制台功能简介 77
3.5.1 集群服务管理 78
3.5.2 集群服务配置 80
3.5.3 辅助工具 82
3.6 本章小结 86
第4章 构建企业级平台安全方案 87
4.1 浅谈企业级大数据平台面临的安全隐患 88
4.1.1 缺乏统一的访问控制机制 88
4.1.2 缺乏统一的资源授权策略 88
4.1.3 缺乏Hadoop服务安全保障 89
4.2 初级安全方案 89
4.2.1 访问控制 89
4.2.2 数据授权与管理 97
4.3 本章小结 110
第5章 Hadoop服务安全方案 111
5.1 Kerberos协议简介 111
5.2 使用FreeIPA安装Kerberos和LDAP 113
5.2.1 安装FreeIPA 115
5.2.2 IPA-Server管理控制台功能介绍 119
5.2.3 IPA CLI功能介绍 122
5.3 开启Ambari的Kerberos安全选项 127
5.3.1 集成前的准备 127
5.3.2 集成IPA 129
5.3.3 测试Kerberos认证 133
5.4 本章小结 136
第6章 单点登录与用户管理 137
6.1 集成单点登录 139
6.1.1 CAS简介 140
6.1.2 安装CAS-Server 141
6.1.3 集成Knox网关与CAS-
Server 148
6.1.4 集成Ranger与CAS-Server 151
6.1.5 集成Ambari与CAS-Server 152
6.2 实现统一的用户管理系统 155
6.3 使用Java程序调用脚本 161
6.4 创建Ranger扩展用户 166
6.5 本章小结 169
第7章 搭建平台管理端RESTful服务 170
7.1 搭建RESTful服务框架 170
7.2 用户查询 174
7.2.1 引入LDAP模块 174
7.2.2 配置LDAP 174
7.2.3 实现持久层 177
7.2.4 实现服务层 181
7.2.5 实现RESTful服务 181
7.2.6 整合用户管理 183
7.3 RESTful服务安全认证 184
7.3.1 用户登录服务 185
7.3.2 使用JWT认证 185
7.3.3 创建用户登录RESTful服务 188
7.3.4 认证过滤器 194
7.3.5 测试服务安全认证 198
7.4 数据仓库数据查询 200
7.4.1 创建JDBC连接 200
7.4.2 Kerberos登录 202
7.4.3 使用JDBC协议查询 202
7.4.4 实现服务层与RESTful服务 206
7.4.5 测试查询 207
7.5 数据仓库元数据查询 208
7.5.1 使用query服务查询数仓元数据 208
7.5.2 引入JdbcTemplate模块 209
7.5.3 增加Hive元数据库配置 210
7.5.4 实现元数据持久层 211
7.5.5 实现元数据服务层与RESTful服务 216
7.5.6 测试元数据查询 218
7.6 本章小结 219
第8章 Spark任务与调度服务 220
8.1 提交Spark任务的3种方式 220
8.1.1 使用Spark-Submit脚本提交 220
8.1.2 使用Spark Client提交 226
8.1.3 使用YARN RESTful API提交 229
8.2 查询Spark日志 234
8.3 任务调度 236
8.3.1 引入Quartz模块 237
8.3.2 增加Quartz配置 237
8.3.3 编写调度任务 240
8.3.4 改进空间 241
8.4 本章小结 241
附录A Hadoop简史 242
附录B Hadoop生态其他常用组件一览 245
附录C 常用组件配置说明 248
智能数据时代的基石:企业级大数据平台构建的艺术与实践 在信息爆炸的当下,数据已成为驱动企业决策、创新业务、提升竞争力的核心要素。如何有效地收集、存储、处理、分析和应用海量、异构、高速增长的数据,是每一个现代企业都必须面对的挑战。本书并非探讨具体技术的工具手册,而是旨在深入解析构建一个强大、灵活、可扩展的企业级大数据平台所需的战略思维、架构设计理念和核心实现原则。它将带领读者穿越传统数据孤岛的迷雾,抵达智能化数据时代的广阔天地。 一、 平台构建的战略蓝图:从业务需求到技术选型 构建企业级大数据平台,绝非简单的技术堆砌,而是企业数字化转型战略的重要组成部分。本书的第一部分将聚焦于平台构建的战略层面,引导读者理解“为何而建”以及“建什么”。 理解企业的数据价值与应用场景: 我们将从企业业务的根本需求出发,深入剖析不同行业(如金融、零售、制造、医疗、互联网等)在数据采集、分析和应用方面的共性与特性。例如,在金融领域,实时反欺诈、精准营销、风险评估对数据处理的低延迟和高吞吐量提出了极致要求;而在零售业,客户画像构建、供应链优化、个性化推荐则依赖于对海量交易和用户行为数据的深度挖掘。理解这些具体场景,是设计出满足实际需求的平台的基础。 数据驱动的业务转型: 本部分将探讨数据如何在企业内部发挥“润滑剂”和“催化剂”的作用,推动业务流程的优化、产品服务的创新,以及决策模式的转变。我们将分析如何通过建立数据驱动的文化,鼓励员工拥抱数据、信任数据,并将其转化为可执行的洞察。 大数据平台的功能定位与核心能力: 一个成熟的大数据平台应具备哪些核心能力?本书将详细阐述数据采集与接入(Batch/Streaming)、数据存储与管理(Data Lake/Data Warehouse)、数据处理与计算(ETL/ELT, Batch/Stream Processing)、数据服务与应用(API, BI, AI/ML),以及数据治理与安全等关键维度。这些能力的有机结合,构成了平台的基础骨架。 技术选型的理性考量: 面对纷繁复杂的大数据技术栈,如何做出明智的选择?本书将提供一套审慎的技术选型框架,强调权衡开源与商业、云原生与私有化部署、成熟度与创新性等因素。我们将讨论各种技术在不同场景下的优劣势,例如,在流处理方面,Kafka与Pulsar在消息队列领域的特点;在分布式计算方面,Spark与Flink在批处理和流处理性能上的差异;在存储方面,HDFS、S3、Ceph在对象存储和文件存储上的适用性。这种理性分析,旨在帮助读者规避盲目跟风,构建适合自身情况的技术体系。 二、 平台架构的宏观设计:系统性与伸缩性的平衡 成功的大数据平台离不开精心设计的架构。本书的第二部分将深入探讨构建一个健壮、高效、可扩展的平台架构所需的原则和方法。 分层架构的演进与实践: 我们将从经典的数据仓库、数据湖的概念出发,逐步演进到现代数据平台的分层架构,包括但不限于:数据采集层、数据存储层、数据处理层、数据服务层、数据应用层以及支撑层(如元数据管理、调度、监控、安全)。每一层的功能定位、相互关系以及在整个平台中的职责都将被清晰界定。 数据湖与数据仓库的融合: 传统的“数据仓库”与新兴的“数据湖”各有千秋,而现代大数据平台往往需要将两者优势结合。本书将深入剖析如何构建“湖仓一体”或“数据湖仓”的解决方案,实现结构化、半结构化、非结构化数据的统一存储与高效访问,支持多样化的分析需求,从BI报表到机器学习模型训练。 批处理与流处理的协同: 实时性与时效性是大数据平台的重要考量。我们将探讨如何设计支持批处理(Batch Processing)和流处理(Stream Processing)的混合架构,实现数据的准实时更新与分析。理解Lambda架构、Kappa架构等不同模式的演进,以及如何选择适合的流处理引擎(如Flink, Spark Streaming)和批处理引擎,是实现这一协同的关键。 微服务与容器化技术: 随着大数据平台的复杂性增加,采用微服务架构能够提升系统的灵活性、可维护性和弹性。本书将讨论如何将大数据平台中的各个组件(如数据采集服务、计算任务调度、数据服务API等)解耦为独立的微服务,并结合Docker、Kubernetes等容器化技术,实现高效的部署、管理和弹性伸缩。 云原生与混合云策略: 云计算为大数据平台提供了前所未有的弹性、灵活性和成本效益。本书将分析如何在云环境中构建大数据平台,包括公有云、私有云以及混合云的策略。我们将探讨云原生大数据服务(如AWS EMR, Azure HDInsight, Google Dataproc, Databricks)的优势,以及如何在混合云环境下实现跨云的数据迁移与统一管理。 高可用性与灾难恢复: 关键业务数据的可靠性至关重要。本书将重点阐述如何设计高可用(High Availability, HA)和灾难恢复(Disaster Recovery, DR)机制,确保平台在硬件故障、网络中断甚至区域性灾难发生时,仍能提供不间断的服务,保障数据的安全与业务的连续性。 三、 核心实现的关键要素:技术细节与工程实践 架构设计离不开具体的实现。本书的第三部分将深入剖析支撑大数据平台运行的核心技术和工程实践。 海量数据存储与管理: 分布式文件系统(HDFS, S3等): 深入理解其原理、适用场景、性能调优,以及在数据湖中的地位。 分布式数据库与NoSQL: 探讨关系型数据库(如PostgreSQL, MySQL)、NewSQL(如TiDB)、MPP数据库(如Greenplum, Snowflake)以及多种NoSQL数据库(如HBase, Cassandra, MongoDB, Redis)的特性、优劣势,以及在不同数据存储需求下的选择。 数据湖格式(Parquet, ORC, Avro): 分析这些列式存储格式在压缩率、查询性能、Schema演进等方面的优势,及其在数据湖中的重要性。 分布式计算框架: Hadoop生态系统: 从MapReduce到YARN,理解分布式计算的基础。 Apache Spark: 深入解析Spark的RDD、DataFrame、Dataset API,理解其内存计算、DAG调度、Catalyst优化器等核心机制,及其在批处理和流处理中的强大能力。 Apache Flink: 重点介绍Flink的事件驱动、真正的流处理特性、状态管理、容错机制,以及在低延迟、高吞吐量场景下的应用。 SQL on Hadoop/Data Lake: 探讨Presto, Hive, Impala等SQL查询引擎,以及如何实现对数据湖中数据的直接SQL查询。 数据采集与集成: ETL/ELT工具与策略: 分析传统ETL工具(如Informatica, DataStage)与新兴ELT工具(如dbt, Spark SQL)在数据整合中的作用,以及如何设计高效的数据管道。 实时数据采集: 重点讲解Apache Kafka、Pulsar等消息队列的原理、架构和应用,以及如何构建可靠的流数据采集系统。 Change Data Capture (CDC): 讨论如何实现数据库变更数据的实时捕获与同步。 数据治理与元数据管理: 数据质量保障: 探讨数据清洗、校验、去重等策略,以及如何建立数据质量监控体系。 元数据管理: 强调元数据的集中管理、血缘追踪、数据目录构建,是实现数据可发现性、可理解性和可信度的关键。 数据安全与权限控制: 讲解数据的加密、脱敏、访问控制、审计等机制,确保数据合规性与安全性。 作业调度与监控: 工作流调度器: 介绍Airflow, Oozie等工具,以及如何构建健壮、可观测的自动化数据处理流程。 性能监控与日志分析: 探讨Prometheus, Grafana, ELK Stack等监控与日志分析工具,如何实时掌握平台运行状态,快速定位与解决问题。 四、 平台运维与持续演进:面向未来的数据能力 构建只是开始,持续的运维和演进才是平台生命力的保证。 弹性伸缩与成本优化: 探讨如何根据业务负载动态调整平台资源,实现成本效益最大化。 自动化运维与CI/CD: 引入DevOps理念,实现平台的自动化部署、测试与发布。 性能调优与故障排除: 提供常见性能瓶颈分析与解决思路,以及故障诊断的系统性方法。 技术演进与生态整合: 持续关注大数据技术的发展趋势,及时引入和整合新的技术与工具,保持平台的先进性。 构建数据驱动的企业文化: 强调平台不仅是技术设施,更是赋能业务、驱动创新的基石,以及如何通过平台建设推动企业整体的数据素养提升。 本书力求以清晰的逻辑、严谨的论证和丰富的案例,为读者构建一个关于企业级大数据平台构建的全面视角。它不仅仅是一本技术指南,更是一份指导企业在智能数据时代实现跨越式发展的战略蓝图。通过阅读本书,您将能深刻理解构建一个强大、灵活、可扩展的大数据平台的精髓,并具备将理论转化为实际解决方案的能力,为企业的数据资产保驾护航,开启数据价值的新篇章。