大數(shù)據(jù)平臺(tái)架構(gòu)
定 價(jià):89 元
- 作者:李昉
- 出版時(shí)間:2022/4/1
- ISBN:9787121430671
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274;TP311.132.3
- 頁(yè)碼:320
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)將為大家全面而深入地介紹Hadoop、Spark和NoSQL平臺(tái)的構(gòu)建,深入淺出地講解Hadoop、Spark和NoSQL的基礎(chǔ)知識(shí)、架構(gòu)方案與實(shí)戰(zhàn)技巧等。通過(guò)閱讀本書(shū),讀者可以對(duì)大數(shù)據(jù)平臺(tái)架構(gòu)有一個(gè)明確、清晰的認(rèn)識(shí),掌握Hadoop、Spark、NoSQL平臺(tái)的使用技巧,從而搭建一個(gè)安全可靠的大數(shù)據(jù)集群平臺(tái),來(lái)滿足企業(yè)的實(shí)際需求。 本書(shū)共15章,可分為五大部分。第一部分(第1章)為大數(shù)據(jù)平臺(tái)架構(gòu)概述,講述大數(shù)據(jù)平臺(tái)的基本概念與實(shí)際應(yīng)用;第二部分(第2章~第6章)主要講解Hadoop的基本使用方法,以及Hadoop生態(tài)圈的其他組件;第三部分(第7章)主要介紹NoSQL;第四部分(第8章~第10章)主要介紹Spark生態(tài)圈與Spark實(shí)戰(zhàn)案例;第五部分(第11章~第15章)講解如何構(gòu)建大數(shù)據(jù)平臺(tái),闡述大數(shù)據(jù)平臺(tái)的幾個(gè)核心模塊,以及大數(shù)據(jù)平臺(tái)的未來(lái)發(fā)展趨勢(shì)。 本書(shū)可作為各類IT企業(yè)和研發(fā)機(jī)構(gòu)的大數(shù)據(jù)工程師、架構(gòu)師、軟件設(shè)計(jì)師、程序員,以及相關(guān)專業(yè)在校學(xué)生的參考書(shū)。
數(shù)據(jù)庫(kù)專家,數(shù)據(jù)分析專家,有豐富的IT領(lǐng)域、數(shù)學(xué)領(lǐng)域的知識(shí)經(jīng)驗(yàn)。知名數(shù)據(jù)庫(kù)網(wǎng)站ITPUB創(chuàng)始人,知名數(shù)據(jù)分析網(wǎng)站煉數(shù)成金創(chuàng)始人。ITPUB在其十幾年歷史中為中國(guó)IT業(yè)特別是數(shù)據(jù)庫(kù)行業(yè)輸送了大量人才,其中不乏今天在行業(yè)里叱咤風(fēng)云的佼佼者,因此被譽(yù)為數(shù)據(jù)庫(kù)業(yè)的黃埔軍校。后來(lái)創(chuàng)建煉數(shù)成金,言傳身教,親自講授大數(shù)據(jù),數(shù)據(jù)庫(kù),數(shù)據(jù)分析,人工智能等方面的幾十門(mén)課程,身也在華南著名學(xué)府中山大學(xué)任教多年,桃李滿天下。引領(lǐng)無(wú)數(shù)弟子進(jìn)入業(yè)界,朋友圈遍及業(yè)界重要人士,廣受尊重。
第1章 大數(shù)據(jù)平臺(tái)架構(gòu)概述 1
1.1 大數(shù)據(jù)平臺(tái)的產(chǎn)生與應(yīng)用 1
1.1.1 大數(shù)據(jù)平臺(tái)的產(chǎn)生 1
1.1.2 大數(shù)據(jù)平臺(tái)的應(yīng)用 2
1.2 大數(shù)據(jù)平臺(tái)架構(gòu) 4
1.3 大數(shù)據(jù)處理系統(tǒng)經(jīng)典架構(gòu) 7
1.3.1 什么是Lambda架構(gòu) 7
1.3.2 Lambda架構(gòu) 8
1.3.3 Kappa架構(gòu) 10
1.3.4 適用場(chǎng)景 10
第2章 大數(shù)據(jù)與Hadoop 12
2.1 Hadoop簡(jiǎn)介 12
2.1.1 Hadoop起源 12
2.1.2 Hadoop特點(diǎn) 13
2.1.3 Hadoop版本 13
2.2 Hadoop生態(tài)系統(tǒng) 14
2.2.1 Hadoop生態(tài)系統(tǒng)概況 15
2.2.2 Hadoop生態(tài)系統(tǒng)組成詳解 16
2.3 Hadoop應(yīng)用案例 21
2.3.1 Hadoop應(yīng)用案例1:全球最大超市沃爾瑪 21
2.3.2 Hadoop應(yīng)用案例2:全球最大拍賣(mài)網(wǎng)站eBay 21
2.3.3 Hadoop應(yīng)用案例3:全球最大信用卡公司Visa 22
2.4 Hadoop在國(guó)內(nèi)的現(xiàn)狀與未來(lái) 22
2.4.1 國(guó)內(nèi)最早的Hadoop交流平臺(tái):Hadoop in China 22
2.4.2 國(guó)內(nèi)Hadoop發(fā)展現(xiàn)狀 22
2.4.3 國(guó)內(nèi)Hadoop前景展望 25
第3章 開(kāi)始使用Hadoop集群 26
3.1 Hadoop初探 26
3.1.1 使用Hadoop的先決條件 26
3.1.2 安裝環(huán)境 27
3.1.3 安裝并運(yùn)行Hadoop 29
3.1.4 運(yùn)行模式 30
3.1.5 Hadoop單機(jī)模式 31
3.1.6 Hadoop偽分布式模式 32
3.1.7 Hadoop完全分布式模式 36
3.1.8 Hadoop命令手冊(cè)解讀 39
3.2 HDFS基礎(chǔ)和權(quán)限管理 45
3.2.1 HDFS特點(diǎn) 45
3.2.2 HDFS基本構(gòu)成 46
3.2.3 HDFS使用原理 47
3.2.4 HDFS權(quán)限管理 48
3.3 MapReduce Job開(kāi)發(fā)、運(yùn)行與管理 49
3.3.1 為什么需要 MapReduce 49
3.3.2 MapReduce 1.X和MapReduce 2.X 49
3.3.3 MapReduce開(kāi)發(fā) 55
3.3.4 MapReduce運(yùn)行與管理 58
3.4 YARN管理 62
3.4.1 YARN簡(jiǎn)介 62
3.4.2 主要組件 64
3.4.3 ResourceManager組件 65
3.4.4 NodeManager組件 65
3.4.5 ApplicationMaster組件 66
3.4.6 Container組件 66
3.4.7 應(yīng)用提交過(guò)程分析 66
第4章 Hadoop集群性能優(yōu)化和維護(hù) 69
4.1 集群常用配置文件解讀 69
4.1.1 配置文件 70
4.1.2 Hadoop核心配置文件core-site.xml 71
4.2 HDFS配置優(yōu)化 78
4.2.1 dfsadmin 81
4.2.2 SecondaryNameNode 82
4.2.3 Rebalance與機(jī)架感知 83
4.2.4 安全模式、fsck、升級(jí)與回滾 84
4.2.5 集群與環(huán)境優(yōu)化 85
4.3 MapReduce配置優(yōu)化 86
4.3.1 Job配置 86
4.3.2 其他 91
4.4 YARN配置優(yōu)化 91
4.4.1 YARN 91
4.4.2 Capacity Scheduler 92
4.4.3 Queue Properties 94
第5章 高可用配置 97
5.1 架構(gòu) 97
5.2 使用NFS共享存儲(chǔ) 98
5.3 Quorum-based存儲(chǔ)+ZooKeeper 99
5.4 QJM 100
5.5 使用ZooKeeper進(jìn)行自動(dòng)故障轉(zhuǎn)移 101
5.6 部署與配置 102
第6章 Hadoop其他組件 106
6.1 HBase介紹 106
6.1.1 概述 106
6.1.2 特點(diǎn) 107
6.1.3 架構(gòu) 108
6.1.4 工作原理 108
6.1.5 安裝與運(yùn)行 110
6.1.6 基礎(chǔ)操作 112
6.2 Hive介紹 113
6.2.1 概述 113
6.2.2 特點(diǎn) 114
6.2.3 數(shù)據(jù)結(jié)構(gòu) 114
6.2.4 架構(gòu) 115
6.2.5 工作原理 116
6.2.6 安裝與運(yùn)行 116
6.3 Pig介紹 118
6.3.1 概述 118
6.3.2 特點(diǎn) 119
6.3.3 運(yùn)行模式 119
6.3.4 安裝與運(yùn)行 120
6.4 Sqoop介紹 121
6.4.1 概述 121
6.4.2 版本介紹 122
6.4.3 特點(diǎn) 122
6.4.4 安裝與運(yùn)行 123
6.4.5 工作原理 123
第7章 NoSQL 125
7.1 NoSQL介紹 125
7.2 NewSQL介紹 126
7.3 NoSQL應(yīng)用場(chǎng)景 127
7.4 能承受海量壓力的鍵值型數(shù)據(jù)庫(kù):Redis 128
7.5 處理非結(jié)構(gòu)化數(shù)據(jù)的利器:MongoDB 128
7.6 圖數(shù)據(jù)庫(kù):Neo4j 130
7.6.1 什么是圖 130
7.6.2 什么是圖數(shù)據(jù)庫(kù) 130
7.6.3 Neo4j簡(jiǎn)介 130
第8章 Spark生態(tài)系統(tǒng) 132
8.1 Spark在大數(shù)據(jù)生態(tài)中的定位 132
8.1.1 Spark簡(jiǎn)介 132
8.1.2 Spark系統(tǒng)定位 135
8.1.3 基本術(shù)語(yǔ) 136
8.2 Spark主要模塊介紹 138
8.2.1 Spark Core 138
8.2.2 Spark SQL 146
8.2.3 Spark Streaming 149
8.2.4 GraphX 150
8.2.5 MLlib 154
8.3 Spark部署模型介紹 156
第9章 Spark SQL實(shí)戰(zhàn)案例 158
9.1 Spark SQL前世今生 158
9.1.1 大數(shù)據(jù)背景 158
9.1.2 Spark和Spark SQL的產(chǎn)生 159
9.1.3 版本更迭 159
9.2 RDD、DataFrame及Dataset 160
9.2.1 Spark SQL基礎(chǔ) 161
9.2.2 Dataset、DataFrame、RDD的區(qū)別 167
9.3 使用外部數(shù)據(jù)源 168
9.3.1 讀寫(xiě)文件 168
9.3.2 .parquet文件 169
9.3.3 ORC文件 174
9.3.4 JSON Dataset 174
9.4 連接Metastore 174
9.4.1 Hive table 174
9.4.2 和不同版本的Hive Metastore交互 175
9.4.3 JDBC連接其他數(shù)據(jù)庫(kù) 176
9.5 自定義函數(shù) 178
9.5.1 聚合函數(shù)——非標(biāo)準(zhǔn)化類型(UnTyped)UADF開(kāi)發(fā) 178
9.5.2 類型安全的自定義聚合函數(shù)——Type-safe的UDAF 180
9.6 Spark SQL與Spark Thrift server 183
9.6.1 分布式SQL引擎 183
9.6.2 HiveServer2服務(wù) 184
9.7 Spark SQL 優(yōu)化 185
9.7.1 內(nèi)存緩存數(shù)據(jù) 185
9.7.2 SQL查詢中的Broadcast Hint 186
9.7.3 持久化RDD,選擇存儲(chǔ)級(jí)別 186
9.7.4 數(shù)據(jù)序列化選擇 188
9.7.5 內(nèi)存管理 189
9.7.6 其他考慮 192
第10章 Spark Streaming 195
10.1 Spark Streaming架構(gòu) 195
10.2 DStream的特點(diǎn) 196
10.3 DStream的操作 197
10.3.1 DStream的輸入操作 197
10.3.2 DStream的轉(zhuǎn)換操作 199
10.4 StatefulRDD和windowRDD實(shí)戰(zhàn) 201
10.4.1 StatelessRDD無(wú)狀態(tài)轉(zhuǎn)化操作 201
10.4.2 StatefulRDD有狀態(tài)轉(zhuǎn)化操作 206
10.5 Kafka+Spark Steaming實(shí)戰(zhàn) 212
10.5.1 搭建Kafka環(huán)境 212
10.5.2 代碼編寫(xiě) 213
10.6 Spark Streaming的優(yōu)化 220
第11章 數(shù)據(jù)同步收集 224
11.1 從關(guān)系數(shù)據(jù)庫(kù)同步數(shù)據(jù)到HDFS 224
11.1.1 Sqoop 225
11.1.2 DataX 226
11.2 Sqoop的使用 228
11.2.1 安裝 228
11.2.2 MySQL環(huán)境驅(qū)動(dòng)配置 229
11.2.3 導(dǎo)入數(shù)據(jù) 230
11.3 數(shù)據(jù)清洗 234
第12章 任務(wù)調(diào)度系統(tǒng)設(shè)計(jì) 239
12.1 初識(shí)任務(wù)調(diào)度 239
12.2 幾種相對(duì)成熟的Java調(diào)度系統(tǒng)選擇 242
12.2.1 Timer和TimerTask 242
12.2.2 ScheduledThreadPoolExecutor 244
12.2.3 Quartz 245
12.2.4 jcrontab 245
12.2.5 相對(duì)成熟的調(diào)度工具和開(kāi)源產(chǎn)品 246
12.3 Quartz的介紹 250
12.3.1 Quartz的儲(chǔ)備知識(shí) 251
12.3.2 Quartz的基本使用 251
12.3.3 Trigger的選擇 252
12.3.4 JobStore 255
12.3.5 完整的例子 257
12.4 開(kāi)源工具XXL-Job 258
12.4.1 搭建項(xiàng)目 258
12.4.2 運(yùn)行項(xiàng)目 260
12.4.3 項(xiàng)目簡(jiǎn)單使用 263
12.4.4 高級(jí)使用和使用建議 267
第13章 調(diào)度系統(tǒng)選擇 274
13.1 常用調(diào)度系統(tǒng)及對(duì)比 274
13.1.1 Oozie簡(jiǎn)介 274
13.1.2 Azkaban簡(jiǎn)介 275
13.1.3 Airflow簡(jiǎn)介 276
13.1.4 調(diào)度系統(tǒng)對(duì)比 277
13.2 Airflow基本架構(gòu)設(shè)計(jì) 278
13.2.1 設(shè)計(jì)原則 278
13.2.2 Airflow的服務(wù)構(gòu)成 278
13.2.3 依賴關(guān)系的解決 280
13.2.4 工作原理 280
13.3 Airflow任務(wù)調(diào)度系統(tǒng)的安裝配置及使用 281
13.3.1 安裝 281
13.3.2 配置 282
13.3.3 使用 285
13.4 Airflow自定義DAG的使用 286
第14章 數(shù)據(jù)安全管理 292
14.1 HDFS層面的訪問(wèn)權(quán)限及安全模式 292
14.1.1 HDFS權(quán)限管理 292
14.1.2 HDFS安全模式 293
14.1.3 ACL概念介紹 294
14.2 保障敏感數(shù)據(jù)的安全性 295
14.3 應(yīng)用層面的安全性保障 297
第15章 大數(shù)據(jù)面臨的挑戰(zhàn)、發(fā)展趨勢(shì)及典型案例 300
15.1 大數(shù)據(jù)面臨的問(wèn)題與挑戰(zhàn) 300
15.1.1 大數(shù)據(jù)潛在的危害 300
15.1.2 開(kāi)放與隱私如何平衡 301
15.1.3 大數(shù)據(jù)人才的缺乏 302
15.2 大數(shù)據(jù)發(fā)展趨勢(shì) 302
15.2.1 大數(shù)據(jù)與電子商務(wù) 303
15.2.2 大數(shù)據(jù)與醫(yī)療 303
15.2.3 大數(shù)據(jù)與人工智能 304
15.2.4 工業(yè)大數(shù)據(jù)云平臺(tái) 304
15.3 典型大數(shù)據(jù)平臺(tái)案例 304
15.3.1 阿里云數(shù)加 304
15.3.2 華為Fusion Insight大數(shù)據(jù)平臺(tái) 305
15.3.3 三一重工Witsight工業(yè)大數(shù)據(jù)平臺(tái) 307