企業(yè)級大數(shù)據(jù)平臺構(gòu)建:架構(gòu)與實現(xiàn)
定 價:69 元
叢書名:大數(shù)據(jù)技術(shù)叢書
當(dāng)前圖書已被 4 所學(xué)校薦購過!
查看明細(xì)
- 作者:朱凱
- 出版時間:2018/4/1
- ISBN:9787111595953
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:
- 紙張:膠版紙
- 版次:1
- 開本:16開
這是一部教你如何從0到1架構(gòu)與實現(xiàn)一個企業(yè)級大數(shù)據(jù)平臺的著作,是作者在大數(shù)據(jù)和系統(tǒng)架構(gòu)領(lǐng)域超過20000小時的經(jīng)驗總結(jié)。作者從橫向視角出發(fā),手把手教你如何拉通Hadoop體系技術(shù)棧,以此搭建一個真實可用、安全可靠的大數(shù)據(jù)平臺。通過閱讀本書,一定能從本書的內(nèi)容中找到靈感和思路來應(yīng)對實際工作中面對的問題。
目前市面上有很多Hadoop體系相關(guān)技術(shù)的書籍,比如像Hadoop、Spark這類火爆的技術(shù)已經(jīng)有大量的專業(yè)書籍進行講解。但是這類書籍多是以縱向的視角去講解某一個具體的技術(shù)。而本書以橫向的視角出發(fā),橫向拉通Hadoop體系技術(shù)棧,以構(gòu)建一個真實可用、安全可靠的企業(yè)級大數(shù)據(jù)平臺為目標(biāo)來撰寫,本書以講解實際操作部署為主,其中特別描述了安全部分。同時在講解的過程中穿插介紹各種技術(shù)棧核心概念和背景, 幫助讀者進行知識的應(yīng)用與整合。目前市場上這類橫向拉通Hadoop體系技術(shù)棧的數(shù)據(jù)并不多見。
目 錄?Contents
推薦序 思者常新,厚積薄發(fā)
前 言
第1章 淺談企業(yè)級大數(shù)據(jù)平臺的重要性 1
1.1 缺乏統(tǒng)一大數(shù)據(jù)平臺的問題 2
1.1.1 資源浪費 2
1.1.2 數(shù)據(jù)孤島 2
1.1.3 服務(wù)孤島 3
1.1.4 安全存疑 3
1.1.5 缺乏可維護性和可擴展性 3
1.1.6 缺乏可復(fù)制性 4
1.2 構(gòu)建統(tǒng)一大數(shù)據(jù)平臺的優(yōu)勢 4
1.3 企業(yè)級大數(shù)據(jù)平臺需要具備的基本能力 6
1.3.1 集群管理與監(jiān)控 7
1.3.2 數(shù)據(jù)接入 7
1.3.3 數(shù)據(jù)存儲與查詢 7
1.3.4 數(shù)據(jù)計算 8
1.3.5 平臺安全與管理 10
1.4 平臺輔助工具 12
1.5 本章小結(jié) 13
第2章 企業(yè)級大數(shù)據(jù)平臺技術(shù)棧介紹 15
2.1 HDFS 16
2.1.1 概述 16
2.1.2 RAID技術(shù) 17
2.1.3 核心設(shè)計目標(biāo) 18
2.1.4 命名空間 19
2.1.5 數(shù)據(jù)模型 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 數(shù)據(jù)模型 24
2.2.5 節(jié)點狀態(tài)監(jiān)聽 25
2.2.6 原子消息廣播協(xié)議 25
2.2.7 使用場景 32
2.3 HBase 33
2.3.1 概述 33
2.3.2 數(shù)據(jù)模型 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 單一集群架構(gòu) 41
2.4.7 工作流程 41
2.4.8 使用場景 43
2.5 Spark 43
2.5.1 概述 43
2.5.2 數(shù)據(jù)模型 45
2.5.3 編程模型和作業(yè)調(diào)度 45
2.5.4 依賴 46
2.5.5 容錯 47
2.5.6 集群模式 47
2.5.7 使用場景 48
2.6 本章小結(jié) 49
第3章 使用Ambari安裝Hadoop集群 50
3.1 概述 50
3.2 集群設(shè)計 52
3.2.1 主控節(jié)點 52
3.2.2 存儲與計算節(jié)點 53
3.2.3 安全認(rèn)證與管理節(jié)點 54
3.2.4 協(xié)同管理與其他節(jié)點 54
3.3 Ambari的安裝、配置與啟動 55
3.3.1 安裝前的準(zhǔn)備 55
3.3.2 安裝Ambari-Server 62
3.3.3 Ambari-Server目錄結(jié)構(gòu) 64
3.3.4 配置Ambari-Server 65
3.3.5 啟動Ambari-Server 66
3.4 新建集群 67
3.4.1 設(shè)置集群名稱并配置HDP安裝包 67
3.4.2 配置集群 69
3.5 Ambari控制臺功能簡介 77
3.5.1 集群服務(wù)管理 78
3.5.2 集群服務(wù)配置 80
3.5.3 輔助工具 82
3.6 本章小結(jié) 86
第4章 構(gòu)建企業(yè)級平臺安全方案 87
4.1 淺談企業(yè)級大數(shù)據(jù)平臺面臨的安全隱患 88
4.1.1 缺乏統(tǒng)一的訪問控制機制 88
4.1.2 缺乏統(tǒng)一的資源授權(quán)策略 88
4.1.3 缺乏Hadoop服務(wù)安全保障 89
4.2 初級安全方案 89
4.2.1 訪問控制 89
4.2.2 數(shù)據(jù)授權(quán)與管理 97
4.3 本章小結(jié) 110
第5章 Hadoop服務(wù)安全方案 111
5.1 Kerberos協(xié)議簡介 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 集成前的準(zhǔn)備 127
5.3.2 集成IPA 129
5.3.3 測試Kerberos認(rèn)證 133
5.4 本章小結(jié) 136
第6章 單點登錄與用戶管理 137
6.1 集成單點登錄 139
6.1.1 CAS簡介 140
6.1.2 安裝CAS-Server 141
6.1.3 集成Knox網(wǎng)關(guān)與CAS-
Server 148
6.1.4 集成Ranger與CAS-Server 151
6.1.5 集成Ambari與CAS-Server 152
6.2 實現(xiàn)統(tǒng)一的用戶管理系統(tǒng) 155
6.3 使用Java程序調(diào)用腳本 161
6.4 創(chuàng)建Ranger擴展用戶 166
6.5 本章小結(jié) 169
第7章 搭建平臺管理端RESTful服務(wù) 170
7.1 搭建RESTful服務(wù)框架 170
7.2 用戶查詢 174
7.2.1 引入LDAP模塊 174
7.2.2 配置LDAP 174
7.2.3 實現(xiàn)持久層 177
7.2.4 實現(xiàn)服務(wù)層 181
7.2.5 實現(xiàn)RESTful服務(wù) 181
7.2.6 整合用戶管理 183
7.3 RESTful服務(wù)安全認(rèn)證 184
7.3.1 用戶登錄服務(wù) 185
7.3.2 使用JWT認(rèn)證 185
7.3.3 創(chuàng)建用戶登錄RESTful服務(wù) 188
7.3.4 認(rèn)證過濾器 194
7.3.5 測試服務(wù)安全認(rèn)證 198
7.4 數(shù)據(jù)倉庫數(shù)據(jù)查詢 200
7.4.1 創(chuàng)建JDBC連接 200
7.4.2 Kerberos登錄 202
7.4.3 使用JDBC協(xié)議查詢 202
7.4.4 實現(xiàn)服務(wù)層與RESTful服務(wù) 206
7.4.5 測試查詢 207
7.5 數(shù)據(jù)倉庫元數(shù)據(jù)查詢 208
7.5.1 使用query服務(wù)查詢數(shù)倉元數(shù)據(jù) 208
7.5.2 引入JdbcTemplate模塊 209
7.5.3 增加Hive元數(shù)據(jù)庫配置 210
7.5.4 實現(xiàn)元數(shù)據(jù)持久層 211
7.5.5 實現(xiàn)元數(shù)據(jù)服務(wù)層與RESTful服務(wù) 216
7.5.6 測試元數(shù)據(jù)查詢 218
7.6 本章小結(jié) 219
第8章 Spark任務(wù)與調(diào)度服務(wù) 220
8.1 提交Spark任務(wù)的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 任務(wù)調(diào)度 236
8.3.1 引入Quartz模塊 237
8.3.2 增加Quartz配置 237
8.3.