产品特色
编辑推荐
(1)资深大数据专家/一线架构师20000小时实际工作经验总结
(2)以横向视角出发,拉通Hadoop体系技术栈,手把手教你快速构建一个真实可用、安全可靠的企业级大数据平台
内容简介
这是一部教你如何从0到1架构与实现一个企业级大数据平台的著作,是作者在大数据和系统架构领域工作超过20000小时的经验总结。
作者从横向视角出发,手把手教你如何拉通Hadoop体系技术栈,以此搭建一个真实可用、安全可靠的大数据平台。通过阅读本书,大家一定能找到灵感和思路来应对实际工作中面对的问题。
本书在逻辑上分为三大部分:
背景篇(第1~2章):简单阐述了企业级大数据平台的重要性,并指出了作为一个企业级大数据平台应当具备的能力。接着抛砖引玉介绍了通过Hadoop生态体系去构建一个企业级大数据平台可以使用的技术栈的核心概念,如HDFS、HBase、Spark等。
方法篇(第3~6章):详细讲解了集群服务、安全网关、服务授权、Kerberos认证、单点登录和集群用户整合等各个方面的背景知识与配置整合步骤。
扩展篇(第7~8章):介绍了如何用编写Restful服务的形式进一步扩展平台功能的一些思路,以便提高平台的易用性和可用性。
作者简介
朱凯 资深大数据专家和架构师,现就职于远光软件,担任大数据事业平台部副总经理。
拥有10年IT从业经验,精通大数据、Java、Node.JS等技术。对大数据领域的主流技术与解决方案有深入研究,擅长分布式系统的架构设计与整合。曾主导过多款大数据平台级产品的规划设计与研发工作,一线实战经验丰富。
精彩书评
大数据已经成为数据分析领域的基石,而众多的技术栈使得用户无从下手,业界急需一本由浅入深,从企业实际需求出发,讲述大数据平台构建核心技术和规划的书。很高兴看到作者基于自己的实践将相关经验整理成书,为业界带来了这样一部难得的好作品。
——韩卿 Apache Kylin 联合创建者、PMC Chair/Kyligence 联合创始人兼 CEO
以横向视角构建以Hadoop为基础的大数据平台,涉及需要考量的集群管理、平台安全性、SSO等,深入浅出,实战味道浓厚,推荐阅读。
——于君泽 蚂蚁金服高级技术专家
本书是作者多年大数据平台实战经验的结晶,是一本难得的横向拉通大数据技术体系的好书。对于想快速构建一个好用又安全的企业级大数据平台的读者来说,本书不可错过。
——鲁静 远光软件区块链事业部总经理
本书围绕构建企业级大数据平台的背景、方法和扩展思路三个方面进行讲解。从理论入手,配有实战讲解,深入浅出。目前国内市场上这样以横向视角来阐述大数据的书籍并不多见,可以说本书填补了这方面的空白,故将本书推荐给大家。
——李根 祺曜互娱资深技术专家
目录
推荐序 思者常新,厚积薄发
前言
第1章 浅谈企业级大数据平台的重要性
1.1 缺乏统一大数据平台的问题
1.1.1 资源浪费
1.1.2 数据孤岛
1.1.3 服务孤岛
1.1.4 安全存疑
1.1.5 缺乏可维护性和可扩展性
1.1.6 缺乏可复制性
1.2 构建统一大数据平台的优势
1.3 企业级大数据平台需要具备的基本能力
1.3.1 集群管理与监控
1.3.2 数据接入
1.3.3 数据存储与查询
1.3.4 数据计算
1.3.5 平台安全与管理
1.4 平台辅助工具
1.5 本章小结
第2章 企业级大数据平台技术栈介绍
2.1 HDFS
2.1.1 概述
2.1.2 RAID技术
2.1.3 核心设计目标
2.1.4 命名空间
2.1.5 数据模型
2.1.6 Namenode和Datanode
2.1.7 使用场景
2.2 Zookeeper
2.2.1 概述
2.2.2 核心特性
2.2.3 命名空间
2.2.4 数据模型
2.2.5 节点状态监听
2.2.6 原子消息广播协议
2.2.7 使用场景
2.3 HBase
2.3.1 概述
2.3.2 数据模型
2.3.3 Regions
2.3.4 HBase Master
2.3.5 Region Server
2.3.6 MemStore与HFile
2.3.7 使用场景
2.4 YARN
2.4.1 概述
2.4.2 资源模型和Container
2.4.3 ResourceManager
2.4.4 ApplicationMaster
2.4.5 NodeManager
2.4.6 单一集群架构
2.4.7 工作流程
2.4.8 使用场景
2.5 Spark
2.5.1 概述
2.5.2 数据模型
2.5.3 编程模型和作业调度
2.5.4 依赖
2.5.5 容错
2.5.6 集群模式
2.5.7 使用场景
2.6 本章小结
第3章 使用Ambari安装Hadoop集群
3.1 概述
3.2 集群设计
3.2.1 主控节点
3.2.2 存储与计算节点
3.2.3 安全认证与管理节点
3.2.4 协同管理与其他节点
3.3 Ambari的安装、配置与启动
3.3.1 安装前的准备
3.3.2 安装Ambari-Server
3.3.3 Ambari-Server目录结构
3.3.4 配置Ambari-Server
3.3.5 启动Ambari-Server
3.4 新建集群
3.4.1 设置集群名称并配置HDP安装包
3.4.2 配置集群
3.5 Ambari控制台功能简介
3.5.1 集群服务管理
3.5.2 集群服务配置
3.5.3 辅助工具
3.6 本章小结
第4章 构建企业级平台安全方案
4.1 浅谈企业级大数据平台面临的安全隐患
4.1.1 缺乏统一的访问控制机制
4.1.2 缺乏统一的资源授权策略
4.1.3 缺乏Hadoop服务安全保障
4.2 初级安全方案
4.2.1 访问控制
4.2.2 数据授权与管理
4.3 本章小结
第5章 Hadoop服务安全方案
5.1 Kerberos协议简介
5.2 使用FreeIPA安装Kerberos和LDAP
5.2.1 安装FreeIPA
5.2.2 IPA-Server管理控制台功能介绍
5.2.3 IPA CLI功能介绍
5.3 开启Ambari的Kerberos安全选项
5.3.1 集成前的准备
5.3.2 集成IPA
5.3.3 测试Kerberos认证
5.4 本章小结
第6章 单点登录与用户管理
6.1 集成单点登录
6.1.1 CAS简介
6.1.2 安装CAS-Server
6.1.3 集成Knox网关与CAS-Server
6.1.4 集成Ranger与CAS-Server
6.1.5 集成Ambari与CAS-Server
6.2 实现统一的用户管理系统
6.3 使用Java程序调用脚本
6.4 创建Ranger扩展用户
6.5 本章小结
第7章 搭建平台管理端RESTful服务
7.1 搭建RESTful服务框架
7.2 用户查询
7.2.1 引入LDAP模块
7.2.2 配置LDAP
7.2.3 实现持久层
7.2.4 实现服务层
7.2.5 实现RESTful服务
7.2.6 整合用户管理
7.3 RESTful服务安全认证
7.3.1 用户登录服务
7.3.2 使用JWT认证
7.3.3 创建用户登录RESTful服务
7.3.4 认证过滤器
7.3.5 测试服务安全认证
7.4 数据仓库数据查询
7.4.1 创建JDBC连接
7.4.2 Kerberos登录
7.4.3 使用JDBC协议查询
7.4.4 实现服务层与RESTful服务
7.4.5 测试查询
7.5 数据仓库元数据查询
7.5.1 使用query服务查询数仓元数据
7.5.2 引入JdbcTemplate模块
7.5.3 增加Hive元数据库配置
7.5.4 实现元数据持久层
7.5.5 实现元数据服务层与RESTful服务
7.5.6 测试元数据查询
7.6 本章小结
第8章 Spark任务与调度服务
8.1 提交Spark任务的3种方式
8.1.1 使用Spark-Submit脚本提交
8.1.2 使用Spark Client提交
8.1.3 使用YARN RESTful API提交
8.2 查询Spark日志
8.3 任务调度
8.3.1 引入Quartz模块
8.3.2 增加Quartz配置
8.3.3 编写调度任务
8.3.4 改进空间
8.4 本章小结
附录A Hadoop简史
附录B Hadoop生态其他常用组件一览
附录C 常用组件配置说明
《企业级大数据平台构建:架构与实现》 内容简介: 在当今信息爆炸的时代,数据已然成为企业最宝贵的资产。如何高效地采集、存储、处理、分析海量数据,并从中挖掘出有价值的洞察,已成为企业在激烈的市场竞争中保持领先的关键。本书《企业级大数据平台构建:架构与实现》正是为应对这一挑战而生,它将带领读者深入了解并掌握构建一个健壮、可扩展、高性能的企业级大数据平台的完整流程与核心技术。 本书旨在为读者提供一套系统性的知识框架,从战略层面的规划到技术层面的落地,全方位地解析企业级大数据平台的建设要点。我们不仅会探讨大数据技术栈的最新发展趋势,更会侧重于如何在实际的企业环境中,将这些先进技术有机地整合,打造出满足业务需求、支撑未来发展的大数据基础设施。 第一部分:战略规划与架构设计 在信息技术的海洋中,盲目追随技术潮流往往会导致资源浪费和项目失败。因此,本书的首要任务是引导读者进行深入的战略规划。我们将从企业业务目标出发,明确大数据平台需要解决的核心问题,以及期望达成的业务价值。这包括但不限于: 业务需求分析与价值梳理: 深入理解不同业务部门(如营销、销售、运营、研发、风控等)对数据的具体需求,识别数据的潜在价值点,并将其转化为大数据平台的功能需求。例如,营销部门可能需要进行用户画像分析以优化精准营销,销售部门可能需要销售预测以优化库存管理,运营部门可能需要实时监控以提升服务质量。 技术选型与评估框架: 面对琳琅满目的开源和商业大数据技术,本书将提供一套科学的评估方法论。我们会详细分析主流大数据技术(如Hadoop生态、Spark、Flink、Kafka、HBase、Elasticsearch、MPP数据库等)的优劣势、适用场景、成熟度、社区支持、运维成本等,帮助读者做出最适合企业自身情况的技术选型决策。 宏观架构设计原则: 引入分层、模块化、松耦合等现代软件架构设计理念,阐述大数据平台应具备的宏观架构。我们将重点讲解数据采集层、数据存储层、数据处理层、数据服务层、数据治理层以及安全与监控层的设计思路。例如,数据采集层需要考虑数据同步、实时流处理、批量导入等多种方式;数据存储层需要根据数据类型和访问模式选择合适的存储方案,如HDFS、对象存储、关系型数据库、NoSQL数据库等;数据处理层则需要区分批处理和流处理的需求。 数据治理与安全保障: 强调数据治理在整个平台生命周期中的重要性。我们将探讨元数据管理、数据质量控制、数据血缘追踪、数据生命周期管理等关键环节。同时,数据安全是企业级平台的生命线,本书会详细阐述数据加密、访问控制、权限管理、合规性审计等方面的策略和实践。 第二部分:核心技术与组件实现 在确立了战略方向和宏观架构后,本书将深入到大数据平台的具体技术实现层面。我们将逐一剖析构成大数据平台的核心技术组件,并探讨其在企业级场景下的落地细节。 数据采集与集成: 离线数据采集: 详细介绍Sqoop、Flume、DataX等工具在关系型数据库、文件系统、日志文件等多样化数据源与大数据存储系统之间的数据抽取、传输和集成。 实时数据采集: 深入讲解Kafka、Pulsar等消息队列在构建高吞吐量、低延迟数据流管道中的作用。我们将分析消息队列的架构、容错机制、消息保证机制,以及如何将其应用于日志收集、应用事件跟踪、物联网数据接入等场景。 数据转换与清洗(ETL/ELT): 讨论使用Spark、Flink等计算引擎实现复杂的数据转换、清洗、 enriquecimiento (丰富) 等操作。我们会介绍不同场景下的ETL/ELT策略,以及如何利用SQL、DataFrame API、Dataset API等进行高效的数据处理。 数据存储与管理: 分布式文件存储: 深度解析HDFS的架构、读写机制、容错策略,以及其在存储海量非结构化和半结构化数据方面的优势。探讨HDFS的高可用性配置和性能优化方法。 分布式数据库: 介绍HBase、Cassandra等NoSQL列族数据库的原理,及其在存储海量键值对、时间序列数据、日志数据等方面的应用。同时,也会涉及MPP(大规模并行处理)数据库(如Greenplum、Teradata)在传统分析场景下的应用与挑战。 数据仓库与数据湖: 讲解构建企业级数据仓库(Data Warehouse)的理念,以及如何利用Hive、Impala、Presto等工具在HDFS之上构建数据仓库。在此基础上,进一步探讨数据湖(Data Lake)的概念,以及如何统一管理结构化、半结构化和非结构化数据,实现更灵活的数据探索和分析。 数据处理与计算引擎: 批处理计算: 详细介绍Apache Spark的架构、RDD、DataFrame、Dataset等核心概念,以及Spark SQL、Spark Streaming、MLlib、GraphX等组件的功能。我们将演示如何使用Spark进行大规模数据ETL、离线报表生成、机器学习模型训练等。 流处理计算: 深入讲解Apache Flink的事件驱动型架构、算子模型、状态管理、容错机制(Checkpointing, Savepoints),以及其在实时数据分析、事件流处理、实时推荐、欺诈检测等场景下的应用。 SQL on Hadoop/Data Lake: 探讨Hive、Impala、Presto、Spark SQL等如何提供SQL接口,使得分析师能够使用熟悉的SQL语言对存储在HDFS或数据湖中的数据进行查询和分析,降低技术门槛。 数据服务与应用: 数据API服务: 讲解如何构建RESTful API服务,为上层业务应用提供标准化的数据访问接口。 BI报表与可视化: 介绍如何将大数据平台的数据导出或直接连接到Tableau、Power BI、Superset等BI工具,实现企业级的数据报表和可视化分析。 机器学习与人工智能平台: 探讨如何在大数据平台上集成机器学习框架(如TensorFlow, PyTorch, scikit-learn),构建端到端的数据科学工作流,实现模型训练、部署和推理。 第三部分:平台运维与演进 一个成功的大数据平台不仅仅是技术的堆砌,更需要持续的运维保障和迭代演进。本部分将聚焦于平台的稳定运行、性能优化和未来发展。 平台部署与自动化: 介绍Docker、Kubernetes等容器化技术在简化大数据组件部署、管理和扩展方面的应用。讲解如何利用Ansible、Terraform等工具实现大数据平台的自动化部署和配置。 监控、告警与性能调优: 强调建立完善的平台监控体系,利用Prometheus、Grafana、ELK Stack(Elasticsearch, Logstash, Kibana)等工具实现对集群资源、应用性能、数据流转的实时监控。讲解常见的性能瓶颈分析方法和优化策略,如资源调度优化、作业参数调优、数据存储格式优化等。 高可用性与灾难恢复: 详细阐述如何通过冗余配置、故障转移、数据备份与恢复策略,保障大数据平台的可用性和数据安全,应对硬件故障、软件异常、自然灾害等风险。 成本管理与优化: 探讨在云环境和本地部署中,如何进行成本核算、资源利用率分析,以及通过资源弹性伸缩、存储生命周期管理、选择经济高效的计算实例等方式,实现大数据平台的成本优化。 平台演进与持续集成/持续部署(CI/CD): 讲解如何根据业务发展和技术进步,对大数据平台进行迭代升级和功能扩展。介绍CI/CD理念在数据开发和平台运维中的实践,加速新功能上线和问题修复。 本书特色: 实战导向: 每一章节都力求理论与实践相结合,提供大量实际案例和代码示例,帮助读者快速上手。 技术全面: 覆盖了当前企业级大数据平台构建所需的核心技术栈,从基础架构到高级应用,无所不包。 架构深度: 深入剖析大数据平台的架构设计原理,帮助读者理解“为什么”以及“如何做”。 面向未来: 关注大数据技术的最新发展趋势,并引导读者思考平台的未来演进方向。 无论您是企业IT架构师、大数据工程师、数据科学家,还是对大数据平台构建感兴趣的技术爱好者,本书都将是您不可或缺的参考指南。通过本书的学习,您将能够自信地设计、构建并运维一个强大而高效的企业级大数据平台,驱动企业的数据创新与业务增长。