Hadoop核心技術(shù)與大數(shù)據(jù)平臺(tái)搭建
定 價(jià):59.8 元
- 作者:蔣道霞
- 出版時(shí)間:2025/8/1
- ISBN:9787121507298
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP274
- 頁(yè)碼:380
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)系統(tǒng)闡述大數(shù)據(jù)的常用技術(shù)原理和框架,并精選實(shí)戰(zhàn)案例深化大數(shù)據(jù)技術(shù)運(yùn)用。全書(shū)共12個(gè)單元,內(nèi)容包含大數(shù)據(jù)與Hadoop概述、大數(shù)據(jù)處理平臺(tái)Hadoop的安裝與配置、分布式文件系統(tǒng)HDFS、MapReduce和YARN技術(shù)、分布式數(shù)據(jù)庫(kù)HBase、數(shù)據(jù)倉(cāng)庫(kù)Hive、大數(shù)據(jù)遷移工具Sqoop、分布式協(xié)調(diào)服務(wù)ZooKeeper、日志采集系統(tǒng)Flume、分布式消息發(fā)布訂閱系統(tǒng)Kafka、大數(shù)據(jù)內(nèi)存計(jì)算Spark及流式計(jì)算引擎Storm。 本書(shū)采用“項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng)”的編排模式,內(nèi)容設(shè)計(jì)遵循由淺入深的認(rèn)知規(guī)律,從基礎(chǔ)原理逐步過(guò)渡到實(shí)戰(zhàn)應(yīng)用,系統(tǒng)規(guī)劃教學(xué)內(nèi)容體系。全書(shū)共設(shè)50個(gè)任務(wù),在Hadoop、HDFS、MapReduce、HBase、Hive、Sqoop、ZooKeeper、Flume、Kafka、Spark和Storm等相關(guān)單元介紹環(huán)境搭建和項(xiàng)目案例,以便讀者能更好地學(xué)習(xí)和掌握大數(shù)據(jù)的關(guān)鍵技術(shù)。
蔣道霞,教授,博士,江蘇財(cái)經(jīng)職業(yè)技術(shù)學(xué)院智能工程技術(shù)學(xué)院黨總支書(shū)記,兼智能制造綜合實(shí)訓(xùn)中心主任,江蘇財(cái)經(jīng)職業(yè)技術(shù)學(xué)院學(xué)術(shù)委員會(huì)主任,具備扎實(shí)的專(zhuān)業(yè)能力、教學(xué)能力、項(xiàng)目實(shí)踐能力,出版過(guò)多部教材,承擔(dān)過(guò)多項(xiàng)課題研究,先后獲得多級(jí)獎(jiǎng)項(xiàng)。
單元1 大數(shù)據(jù)與Hadoop概述 1
任務(wù)1.1 認(rèn)識(shí)大數(shù)據(jù) 1
1.1.1 大數(shù)據(jù)是什么 2
1.1.2 大數(shù)據(jù)特征 2
1.1.3 大數(shù)據(jù)的發(fā)展助力 5
任務(wù)1.2 大數(shù)據(jù)關(guān)鍵技術(shù) 7
1.2.1 大數(shù)據(jù)處理流程 8
1.2.2 結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù) 8
任務(wù)1.3 大數(shù)據(jù)處理架構(gòu)Hadoop 9
1.3.1 Hadoop簡(jiǎn)介 9
1.3.2 Hadoop的特性 10
1.3.3 Hadoop的版本 10
1.3.4 Hadoop生態(tài)系統(tǒng) 11
1.3.5 Hadoop計(jì)算模式 13
1.3.5.1 離線批處理 13
任務(wù)1.4 大數(shù)據(jù)產(chǎn)業(yè)技術(shù)和應(yīng)用領(lǐng)域 15
1.4.1 大數(shù)據(jù)產(chǎn)業(yè)技術(shù) 15
1.4.2 大數(shù)據(jù)的應(yīng)用案例 15
1.4.3 大數(shù)據(jù)時(shí)代企業(yè)面臨的挑戰(zhàn) 16
單元總結(jié) 17
單元習(xí)題 17
單元2 Hadoop大數(shù)據(jù)處理平臺(tái)的安裝與配置 18
任務(wù)2.1 虛擬機(jī)VMware安裝 19
2.1.1 認(rèn)識(shí)虛擬機(jī) 19
2.1.2 虛擬機(jī)安裝 20
任務(wù)2.2 Centos7安裝與配置 21
2.2.1 Centos 7的安裝 21
2.2.2 CentOS 7的配置 26
2.2.3 Centos7常用操作命令 34
任務(wù)2.3 WinSCP的安裝與使用 37
2.3.1 下載WinSCP安裝文件 38
2.3.2 WinSCP安裝 38
2.3.3 WinScp應(yīng)用 39
任務(wù)2.4 Xshell安裝與使用 41
2.4.1 Xshell安裝包準(zhǔn)備下載 41
2.4.2 Xshell 5安裝 41
任務(wù)2.5 Hadoop的安裝模式 44
2.5.1 本地模式 44
2.5.2 偽分布模式 44
2.5.3 分布模式 44
任務(wù)2.6 JDK的安裝和配置 45
2.6.1下載JDK 45
2.6.2 上傳JDK到 CentOS7虛擬機(jī) 45
2.6.3 安裝并配置JDK 46
任務(wù)2.7 Hadoop的本地模式安裝和配置 47
2.7.1 下載Hadoop安裝包 47
2.7.2 安裝并配置Hadoop 環(huán)境 48
2.7.3 以本地模式配置Hadoop 49
2.7.4 驗(yàn)證Hadoop本地模式是否安裝成功 49
任務(wù)2.8 Hadoop的偽分布模式安裝和配置 51
2.8.1 以偽分布模式配置Hadoop的配置文件 51
2.8.2 格式化NameNode 53
2.8.3 啟動(dòng)Hadoop 53
2.8.4 驗(yàn)證Hadoop偽分布模式是否安裝并啟動(dòng)成功 54
任務(wù)2.9 Hadoop的完全分布式安裝 56
2.9.1 服務(wù)器規(guī)劃 56
2.9.2 由master克隆出兩臺(tái)虛擬機(jī)slave1、slave1 56
2.9.3 啟動(dòng)3臺(tái)虛擬機(jī),配置slave1、slave2地址 57
2.9.4 設(shè)置主機(jī)名,將主機(jī)名與IP地址建立映射 59
2.9.5 配置關(guān)閉防火墻 60
2.9.6 配置免密碼登錄 60
2.9.7 搭建并測(cè)試hadoop集群環(huán)境 62
任務(wù)2.10 Hadoop HA安裝部署 67
2.10.1 集群服務(wù)器準(zhǔn)備 68
2.10.2 搭建并配置Zookeeper集群 69
2.10.3 搭建并配置hadoop集群 72
2.10.4 啟動(dòng)Hadoop集群 76
單元總結(jié) 83
單元習(xí)題 83
實(shí)驗(yàn)2.1 VMware虛擬機(jī)及Centos操作系統(tǒng)安裝 83
實(shí)驗(yàn)2.2 Hadoop偽分布模式安裝與應(yīng)用 84
實(shí)驗(yàn)2.3 Hadoop完全分布模式安裝 85
實(shí)驗(yàn)2.4 Hadoop HA模式安裝 86
單元3 分布式文件系統(tǒng)HDFS 87
任務(wù)3.1 Hadoop HDFS架構(gòu) 88
3.1.1 計(jì)算機(jī)集群結(jié)構(gòu) 88
3.1.2 HDFS架構(gòu) 88
任務(wù)3.2 HDFS體系結(jié)構(gòu) 93
3.2.1 HDFS的體系結(jié)構(gòu) 93
3.2.2 HDFS命名空間管理 94
3.2.3 HDFS通信協(xié)議 94
3.2.4 客戶(hù)端Client 95
3.2.5 HDFS體系結(jié)構(gòu)的局限性及改進(jìn)措施 95
任務(wù)3.3 HDFS的數(shù)據(jù)存儲(chǔ)策略 97
3.3.1 數(shù)據(jù)的冗余存儲(chǔ) 97
3.3.2 數(shù)據(jù)的存放策略 97
3.3.3 數(shù)據(jù)的讀寫(xiě)策略 98
任務(wù)3.4 HDFS容錯(cuò) 98
3.4.1 文件系統(tǒng)的容錯(cuò) 99
3.4.2 Hadoop自身的容錯(cuò) 99
任務(wù)3.5 Hadoop HDFS的數(shù)據(jù)讀寫(xiě)過(guò)程 100
3.5.1 讀數(shù)據(jù)的過(guò)程 100
3.5.2 寫(xiě)數(shù)據(jù)的過(guò)程 100
3.5.3 數(shù)據(jù)完整性 101
任務(wù)3.6 Hadoop HDFS命令 102
3.6.1 HDFS 常用命令總覽 102
3.6.2 創(chuàng)建與查看HDFS目錄 103
任務(wù)3.7 HDFS的Java API操作 104
3.7.1 大數(shù)據(jù)線下實(shí)驗(yàn)環(huán)境搭建 104
3.7.2 HDFS的Java API操作 111
單元總結(jié) 119
單元習(xí)題 119
實(shí)驗(yàn)3.1 HDFS實(shí)驗(yàn)操作 119
實(shí)驗(yàn)3.2 HDFS Java API實(shí)驗(yàn)操作 122
單元4 MapReduce和YARN技術(shù) 124
任務(wù)4.1 認(rèn)識(shí)MapReduce 124
4.1.1 MapReduce體系結(jié)構(gòu) 125
4.1.2 MapReduce工作流程 125
任務(wù)4.2 認(rèn)識(shí)YARN 126
4.2.1 MapReduce1.0體系結(jié)構(gòu)及缺陷 126
4.2.2 YARN的體系結(jié)構(gòu) 127
4.2.3 YARN和Hadoop部署方式 128
任務(wù)4.3 MapReduce的工作機(jī)制 129
4.3.1 MapReduce的運(yùn)行流程 129
4.3.2 YARN在MapReduce過(guò)程中的作用 130
任務(wù)4.4 用MapReduce編寫(xiě)WordCountApp實(shí)現(xiàn)單詞統(tǒng)計(jì) 134
4.4.1 任務(wù)要求及程序代碼 135
4.4.2 在IDEA中調(diào)試MapReduce程序統(tǒng)計(jì)單詞個(gè)數(shù) 136
單元總結(jié) 143
單元習(xí)題 143
實(shí)驗(yàn)4 MapReduce編程實(shí)現(xiàn)單詞統(tǒng)計(jì) 143
單元5 分布式數(shù)據(jù)庫(kù)HBase 145
任務(wù)5.1 認(rèn)識(shí)HBase 145
5.1.1 分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)BigTable 146
5.1.2 分布式數(shù)據(jù)庫(kù)HBase 146
5.1.3 HBase與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)比較 146
5.1.4 HBase訪問(wèn)接口 148
5.1.5 HBase數(shù)據(jù)模型 148
任務(wù)5.2 HBase的實(shí)現(xiàn)原理 151
5.2.1 表和Region 152
5.2.2 HBase系統(tǒng)架構(gòu) 153
5.2.3 Region服務(wù)器的工作原理 154
5.2.4 Store的工作原理 156
5.2.5 HLog的工作原理 156
5.2.6 Region的定位 156
任務(wù)5.3 HBase組件安裝與配置 158
5.3.1 Zookeeper安裝 159
5.3.2 HBase安裝與配置 160
任務(wù)5.4 HBase常用Shell命令的使用 163
5.4.1 進(jìn)入HBase shell 164
5.4.2 創(chuàng)建并查看普通表 164
5.4.3 創(chuàng)建namespace 164
5.4.4 給表增加數(shù)據(jù) 164
5.4.5 get方式查詢(xún)數(shù)據(jù) 165
5.4.6 scan方式查詢(xún)數(shù)據(jù) 165
5.4.7 指定條件查詢(xún)數(shù)據(jù) 166
5.4.8 更新數(shù)據(jù) 166
5.4.9 使用delete刪除某一列數(shù)據(jù) 167
5.4.10 使用deleteall刪除整行數(shù)據(jù) 167
5.4.11 使用drop刪除數(shù)據(jù)表 167
5.4.12 Filter過(guò)濾器使用 168
任務(wù)5.5 HBase Java API編程應(yīng)用 169
5.5.1 環(huán)境準(zhǔn)備 169
5.5.2 編寫(xiě)HBase Java API程序并執(zhí)行 169
單元總結(jié) 180
單元習(xí)題 181
實(shí)驗(yàn)5.1 HBase組件安裝 181
實(shí)驗(yàn)5.2 HBase實(shí)驗(yàn)操作 182
實(shí)驗(yàn)5.3 HBase JavaAPI編程應(yīng)用 183
單元6 數(shù)據(jù)倉(cāng)庫(kù)Hive的安裝部署 184
任務(wù)6.1 Hive架構(gòu)和部署模式 185
6.1.1 Hive架構(gòu) 185
6.1.2 內(nèi)嵌模式 186
6.1.3 本地模式 186
6.1.4 遠(yuǎn)程模式 186
6.1.5 Hive和傳統(tǒng)數(shù)據(jù)庫(kù)的區(qū)別 187
任務(wù)6.2 安裝并配置MySQL數(shù)據(jù)庫(kù) 188
6.2.1 修改CentOS-Base.repo配置文件 189
6.2.2 查看系統(tǒng)已安裝的mysql 189
6.2.3 卸載之前已安裝的MySQL版本 190
6.2.4 安裝自動(dòng)下載工具wget 190
6.2.5 下載MySQL安裝包 191
6.2.6 安裝MySQL 191
6.2.7 安裝MySQL服務(wù) 191
6.2.8 啟動(dòng)MySQL 192
6.2.9 修改MySQL臨時(shí)密碼 192
6.2.10 允許遠(yuǎn)程訪問(wèn) 194
6.2.11 修改MySQL允許任何人連接 194
任務(wù)6.3 Hive環(huán)境安裝與配置 195
6.3.1 Hive安裝包準(zhǔn)備 196
6.3.2 解壓Hive安裝包 196
6.3.3 設(shè)置Hive環(huán)境變量 196
6.3.4 完成相關(guān)配置并添加依賴(lài)包 197
6.3.5 初始化MySQL元數(shù)據(jù)庫(kù) 198
6.3.6 啟動(dòng)Hive 199
任務(wù)6.4 數(shù)據(jù)倉(cāng)庫(kù)Hive在數(shù)據(jù)處理中的應(yīng)用 199
6.4.1 Hive命令說(shuō)明 200
6.4.2 Hive數(shù)據(jù)定義 202
6.4.3 Hive數(shù)據(jù)操作 218
6.4.4 Hive數(shù)據(jù)查詢(xún) 223
6.4.5 Hive視圖 233
6.4.6 Hive函數(shù) 235
任務(wù)6.5 Hive在貸款數(shù)據(jù)分析中的應(yīng)用 239
6.5.1 貸款數(shù)據(jù)分析任務(wù)要求 239
6.5.2 貸款數(shù)據(jù)分析任務(wù)實(shí)施 240
單元總結(jié) 250
單元習(xí)題 250
實(shí)驗(yàn)6.1 Hive組件安裝 250
實(shí)驗(yàn)6.2 Hive在數(shù)據(jù)分析中的應(yīng)用 251
單元7 大數(shù)據(jù)遷移工具Sqoop 253
任務(wù)7.1 Sqoop工作原理 253
7.1.1 Sqoop架構(gòu) 253
7.1.2 Sqoop數(shù)據(jù)導(dǎo)入過(guò)程 254
7.1.3 Sqoop數(shù)據(jù)導(dǎo)出過(guò)程 255
任務(wù)7.2 Sqoop的安裝和配置 256
7.2.1 下載sqoop安裝包。 256
7.2.2 解壓sqoop安裝包到指定目錄 256
7.2.3 修改配置文件sqoop-env.sh 256
7.2.4 拷貝MySQL的jdbc驅(qū)動(dòng)包到sqoop/lib目錄 257
7.2.5 配置configure-sqoop 258
7.2.6 修改/etc/profile 258
7.2.7 驗(yàn)證sqoop 258
任務(wù)7.3 用sqoop導(dǎo)入導(dǎo)出數(shù)據(jù) 259
7.3.1 用sqoop import進(jìn)行數(shù)據(jù)導(dǎo)入 260
7.3.2 用sqoop export進(jìn)行數(shù)據(jù)導(dǎo)出 266
單元總結(jié) 272
單元習(xí)題 272
實(shí)驗(yàn)7 Sqoop安裝與應(yīng)用 273
單元8 ZooKeeper分布式協(xié)調(diào)服務(wù) 274
任務(wù)8.1 ZooKeeper的基本概念和架構(gòu)原理 274
8.1.1 ZooKeeper基本概念 275
8.1.2 Zookeeper服務(wù)架構(gòu)組成 275
8.1.3 ZooKeeper關(guān)鍵特性 276
8.1.4 ZooKeeper與其他組件的關(guān)系 277
任務(wù)8.2 ZooKeeper客戶(hù)端常用命令使用 278
8.2.1 Zookeeper啟動(dòng)操作 279
8.2.2 顯示所有操作命令 279
8.2.3 查看當(dāng)前ZNode中所包含的內(nèi)容 279
8.2.4 查看當(dāng)前節(jié)點(diǎn)詳細(xì)數(shù)據(jù) 280
8.2.5 創(chuàng)建節(jié)點(diǎn) 280
8.2.6 修改節(jié)點(diǎn)數(shù)據(jù)值 283
8.2.7 刪除節(jié)點(diǎn) 283
8.2.8 查看當(dāng)前機(jī)器角色 284
單元總結(jié) 284
單元習(xí)題 284
實(shí)驗(yàn)8 Zookeeper安裝及使用 284
單元9 日志采集系統(tǒng)Flume 286
任務(wù)9.1 Flume技術(shù)原理 286
9.1.1 認(rèn)識(shí)Flume 287
9.1.2 Flume架構(gòu) 287
9.1.3 Flume的基本概念 289
9.1.4 Flume關(guān)鍵特性 290
任務(wù)9.2 Flume安裝與應(yīng)用 292
9.2.1 Flume安裝 292
9.2.2 Flume應(yīng)用實(shí)踐 293
單元總結(jié) 298
單元習(xí)題 298
實(shí)驗(yàn)9 Flume安裝及使用 299
單元10 Kafka分布式消息訂閱系統(tǒng) 300
任務(wù)10.1 Kafka技術(shù)原理 300
10.1.1 認(rèn)識(shí)Kafka 301
10.1.2 Kafka應(yīng)用場(chǎng)景 301
10.1.3 Kafka架構(gòu)與功能 302
10.1.4 生產(chǎn)者(Producer) 302
10.1.5 消費(fèi)者(Consumer) 303
10.1.6 Kafka主題(Topics) 303
10.1.7 Kafka分區(qū)(Partition) 303
10.1.8 Kafka 分區(qū)偏移量 304
任務(wù)10.2 Kafka組件安裝與使用 304
10.2.1 Kafka安裝 305
10.2.2 Kafka操作應(yīng)用 307
單元總結(jié) 311
單元習(xí)題 311
實(shí)驗(yàn)10 Kafka安裝與應(yīng)用 311
單元11 大數(shù)據(jù)內(nèi)存計(jì)算Spark 313
任務(wù)11.1 認(rèn)識(shí)Spark 313
11.1.1 Spark應(yīng)用場(chǎng)景 314
11.1.2 Spark的特點(diǎn) 314
11.1.3 Spark與MapReduce對(duì)比 314
11.1.4 Spark的生態(tài)系統(tǒng) 316
任務(wù)11.2 Spark原理與架構(gòu) 318
11.2.1 Spark運(yùn)行架構(gòu) 318
11.2.2 RDD的設(shè)計(jì)與運(yùn)行原理 320
11.2.3 RDD的算子 323
11.2.4 Spark SQL 324
任務(wù)11.3 Spark集群的安裝部署 325
11.3.1 Spark運(yùn)行模式 325
11.3.2 Spark on Yarn模式集群安裝 326
11.3.3 Spark RDD操作實(shí)踐 329
11.3.3.2 RDD常用轉(zhuǎn)換操作 330
單元總結(jié) 334
單元習(xí)題 334
實(shí)驗(yàn)11 Spark組件安裝與應(yīng)用 334
單元12 Storm流式計(jì)算引擎 336
任務(wù)12.1 Storm技術(shù)原理 336
12.1.1 認(rèn)識(shí)Storm 337
12.1.2 Storm特點(diǎn) 337
12.1.3 Storm的設(shè)計(jì)思想 337
12.1.3 Storm關(guān)鍵概念 338
12.1.4 Storm的系統(tǒng)架構(gòu) 340
12.1.5 Storm與Hadoop對(duì)比 342
任務(wù)12.2 Storm組件安裝 342
12.2.1 下載并安裝軟件包 343
12.2.2 配置環(huán)境變量 343
12.2.3 修改配置文件storm.yaml 343
12.2.4 啟動(dòng)Storm集群 344
任務(wù)12.3 Storm編程實(shí)踐 345
12.3.1 Storm環(huán)境搭建 346
12.3.2 Storm并發(fā)機(jī)制編程實(shí)踐 346
12.3.3 調(diào)整Worker進(jìn)程個(gè)數(shù) 353
12.3.4 調(diào)整Executor線程個(gè)數(shù) 354
12.3.5 調(diào)整Task任務(wù)個(gè)數(shù) 354
單元總結(jié) 355
單元習(xí)題 355
實(shí)驗(yàn)12.1 Storm組件安裝 356
實(shí)驗(yàn)12.2 Storm編程實(shí)踐 357
參考文獻(xiàn) 358