新書推薦:
《
清俗纪闻
》
售價:HK$
98.6
《
镜中的星期天
》
售價:HK$
76.2
《
世界前沿技术发展报告2024
》
售價:HK$
188.2
《
可转债——新手理财的极简工具
》
售價:HK$
65.0
《
新加坡教育:神话与现实
》
售價:HK$
96.3
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:HK$
291.2
《
绝美的奥伦堡蕾丝披肩编织
》
售價:HK$
177.0
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:HK$
177.0
|
編輯推薦: |
目前市面上有很多Hadoop体系相关技术的书籍,比如像Hadoop、Spark这类火爆的技术已经有大量的专业书籍进行讲解。但是这类书籍多是以纵向的视角去讲解某一个具体的技术。而本书以横向的视角出发,横向拉通Hadoop体系技术栈,以构建一个真实可用、安全可靠的企业级大数据平台为目标来撰写,本书以讲解实际操作部署为主,其中特别描述了安全部分。同时在讲解的过程中穿插介绍各种技术栈核心概念和背景, 帮助读者进行知识的应用与整合。目前市场上这类横向拉通Hadoop体系技术栈的数据并不多见。
|
內容簡介: |
这是一部教你如何从0到1架构与实现一个企业级大数据平台的著作,是作者在大数据和系统架构领域超过20000小时的经验总结。作者从横向视角出发,手把手教你如何拉通Hadoop体系技术栈,以此搭建一个真实可用、安全可靠的大数据平台。通过阅读本书,一定能从本书的内容中找到灵感和思路来应对实际工作中面对的问题。
|
目錄:
|
目录?Contents
推荐序 思者常新,厚积薄发
前 言
第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 HDFS16
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和Datanode20
2.1.7 使用场景21
2.2 Zookeeper22
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 HBase33
2.3.1 概述33
2.3.2 数据模型34
2.3.3 Regions34
2.3.4 HBase Master35
2.3.5 Region Server36
2.3.6 MemStore与HFile37
2.3.7 使用场景37
2.4 YARN38
2.4.1 概述38
2.4.2 资源模型和Container40
2.4.3 ResourceManager40
2.4.4 ApplicationMaster40
2.4.5 NodeManager41
2.4.6 单一集群架构41
2.4.7 工作流程41
2.4.8 使用场景43
2.5 Spark43
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-Server62
3.3.3 Ambari-Server目录结构64
3.3.4 配置Ambari-Server65
3.3.5 启动Ambari-Server66
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和LDAP113
5.2.1 安装FreeIPA115
5.2.2 IPA-Server管理控制台功能介绍119
5.2.3 IPA CLI功能介绍122
5.3 开启Ambari的Kerberos安全选项127
5.3.1 集成前的准备127
5.3.2 集成IPA129
5.3.3 测试Kerberos认证133
5.4 本章小结136
第6章 单点登录与用户管理137
6.1 集成单点登录139
6.1.1 CAS简介140
6.1.2 安装CAS-Server141
6.1.3 集成Knox网关与CAS-
Server148
6.1.4 集成Ranger与CAS-Server151
6.1.5 集成Ambari与CAS-Server152
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 配置LDAP174
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.
|
內容試閱:
|
Preface?前言为什么要写这本书近年来,大数据这个概念越来越火爆,特别是在国家层面,大数据被提升到了国家战略的高度。在这样的背景下,很多传统企业开始涉足大数据领域并研发自己的大数据技术平台。在这股技术升级与转型的浪潮中,传统领域的程序员纷纷转型投向大数据的怀抱。目前大数据技术开源领域以Hadoop生态构建的技术体系为主。现在市面上有很多与Hadoop体系相关的技术书籍,Hadoop、Spark这类火爆的技术已经有大量优秀的专业书籍进行讲解。但我发现这类书籍多是以纵向的视角去讲解某一类具体的技术,而大数据领域涉及的知识繁多,在构建大数据平台的过程中我们不仅需要精通单个技术组件的知识,还需要拥有横向整合拉通Hadoop体系技术栈的能力。而这类横向拉通Hadoop体系技术栈的书籍并不多见。所以我将自己在构建大数据平台上的一些经验和实践进行了整理,分享给各位读者。希望本书能够为各位读者构建大数据平台或解决方案提供一定的帮助。
读者对象想了解大数据技术,想进入大数据领域的工程师:作为一个想进入大数据领域的“新人”,你可以通过本书从宏观的视角迅速对大数据的基础设施和技术栈有一个全面的认识和了解。本书可以作为你的入门指南和技术栈索引目录。
大数据领域的中高级工程师:作为一个大数据领域的中高级工程师,对Hadoop生态体系的技术应该早已运用自如。通过本书的学习,相信你对大数据领域多种技术栈的整合会有一个更深刻的认识。同时本书中的一些平台级方案也会帮助你提升在平台架构方面的造诣。
平台架构师:作为一个平台架构师,本书中的一些解决方案和设计思路可以作为你进行系统架构的参考资料。
本书主要内容本书从企业的实际需求出发,完整地介绍了构建一个真实可用、安全可靠的企业级大数据平台所需要运用的知识体系,并详细地描述了构建企业级大数据平台的设计方案和实施步骤。
本书逻辑上可分为3大部分,共8章,每个章节循序渐进:
第一部分(第1、2章)描述了企业级大数据平台的需求和能力。
第二部分(第3~5章)着重讲述了如何去搭建并配置一个大数据平台,以及如何构建非常重要的平台安全方案。
第三部分(第6~8章)以实战的形式讲解如何以Java编码的方式实现平台的基础管理功能,以提升其易用性与可用性。
具体各章内容如下:
第1章 阐述企业级大数据平台的重要性,并解释了为什么需要构建一个统一的企业级大数据平台。接着介绍作为一个企业级大数据平台应当具备的能力,并解释其原因。
第2章 介绍通过Hadoop生态体系去构建一个企业级大数据平台可以使用的技术栈,如HDFS、HBase、Spark等,并一一介绍了它们的核心概念。
第3章 介绍集群管理工具Ambari,并站在集群服务器的角度分类解释如何去设计一个Hadoop集群,详细描述了如何使用Ambari来安装、管理和监控一个Hadoop集群。
第4章 介绍企业级大数据平台中非常重要的安全部分。首先阐述了企业级大数据平台面临的一些安全隐患,接着展示了一套初级解决方案并介绍了如何使用Knox和Ranger解决访问控制和数据授权与管理的问题。
第5章 着重介绍Hadoop服务的安全方案,并说明如何通过Kerberos协议等一系列措施来保障Hadoop集群的安全。
第6章 阐述大数据平台在易用性上的一些遗留问题,接着介绍如何通过CAS实现平台的单点登录功能,最后描述如何使用Java程序实现统一的用户管理服务。
第7章 简单阐述服务化的重要性以及如何将大数据平台管理端的功能封装成RESTful服务。首先介绍了如何使用Spring-Boot快速搭建一套RESTful服务的程序框架,接着详细描述如何实现Kerberos用户查询、Hive数据仓库查询和元数据查询等一系列RESTful服务。
第8章 介绍如何使用Java程序实现Spark的任务提交与任务调度功能。首先着重介绍使用Java程序实现Spark任务提交到YARN的三种方式,接着描述如何通过Quartz实现任务调度功能。
如何阅读本书本书内容会涉及大数据领域相关的技术知识,所以假定读者已具有一定的编程经验,了解分布式、多线程、集群等概念。本书部分内容涉及集群服务的实战安装示例,所以需要准备至少两台用于搭建测试环境的Linux服务器或虚拟机。
勘误和支持由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为此,我特意创建了一个提供在线支持与应急方案的站点https:github.comnauubigdatabook。你可以将书中的错误发布在Bug勘误表页面中,如果你遇到任何问题,也可以访问Q&A页面,我将尽量在线上为读者提供最满意的解答。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱yawface@gmail.com或者访问新浪微博http:weibo.comboness,期待能够得到你们的真挚反馈。
致谢感谢我的家人,如果没有你们的悉心照顾和鼓励,我不可能完成本书。
感谢我的公司远光软件,为我提供了学习和成长的环境,本书中的很多知识都来自工作中的实践。
感谢我的挚友李根,为本书提出了许多宝贵的建议。
感谢我的同事兼伙伴们——解来甲、张琛、杨柯、潘登、胡艺、李国威、陈世宾、陈泽华,以及名单之外的更多朋友,感谢你们在工作中的照顾和支持,十分荣幸能够与你们在这个富有激情和活力的团队共事。
感谢机械工业出版社华章公司的编辑杨福川老师、孙海亮老师,在这一年多的时间中始终支持我的写作,你们的鼓励和帮助引导我顺利地完成全部书稿。
朱 凯
|
|