企业级大数据平台构建:架构与实现
以横向视角出发,拉通Hadoop体系技术栈,手把手教你快速构建一个真实可用、安全可靠的企业级大数据平台
- 作者朱凯 著
- 出版社机械工业出版社
- 发行日期2018-05-01
- 标签大数据书籍 Big data books企业级大数据 企业级大数据实现 企业级大数据平台构建 企业级大数据架构 大数据
编辑推荐
(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 常用组件配置说明