Hadoop核心技術(shù)與大數(shù)據(jù)平臺搭建
定 價:59.8 元
- 作者:蔣道霞
- 出版時間:2025/8/1
- ISBN:9787121507298
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:380
- 紙張:
- 版次:01
- 開本:16開
本書系統(tǒng)闡述大數(shù)據(jù)的常用技術(shù)原理和框架,并精選實戰(zhàn)案例深化大數(shù)據(jù)技術(shù)運用。全書共12個單元,內(nèi)容包含大數(shù)據(jù)與Hadoop概述、大數(shù)據(jù)處理平臺Hadoop的安裝與配置、分布式文件系統(tǒng)HDFS、MapReduce和YARN技術(shù)、分布式數(shù)據(jù)庫HBase、數(shù)據(jù)倉庫Hive、大數(shù)據(jù)遷移工具Sqoop、分布式協(xié)調(diào)服務(wù)ZooKeeper、日志采集系統(tǒng)Flume、分布式消息發(fā)布訂閱系統(tǒng)Kafka、大數(shù)據(jù)內(nèi)存計算Spark及流式計算引擎Storm。 本書采用“項目引領(lǐng)、任務(wù)驅(qū)動”的編排模式,內(nèi)容設(shè)計遵循由淺入深的認(rèn)知規(guī)律,從基礎(chǔ)原理逐步過渡到實戰(zhàn)應(yīng)用,系統(tǒng)規(guī)劃教學(xué)內(nèi)容體系。全書共設(shè)50個任務(wù),在Hadoop、HDFS、MapReduce、HBase、Hive、Sqoop、ZooKeeper、Flume、Kafka、Spark和Storm等相關(guān)單元介紹環(huán)境搭建和項目案例,以便讀者能更好地學(xué)習(xí)和掌握大數(shù)據(jù)的關(guān)鍵技術(shù)。
蔣道霞,教授,博士,江蘇財經(jīng)職業(yè)技術(shù)學(xué)院智能工程技術(shù)學(xué)院黨總支書記,兼智能制造綜合實訓(xùn)中心主任,江蘇財經(jīng)職業(yè)技術(shù)學(xué)院學(xué)術(shù)委員會主任,具備扎實的專業(yè)能力、教學(xué)能力、項目實踐能力,出版過多部教材,承擔(dān)過多項課題研究,先后獲得多級獎項。
單元1 大數(shù)據(jù)與Hadoop概述 1
任務(wù)1.1 認(rèn)識大數(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簡介 9
1.3.2 Hadoop的特性 10
1.3.3 Hadoop的版本 10
1.3.4 Hadoop生態(tài)系統(tǒng) 11
1.3.5 Hadoop計算模式 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ù)時代企業(yè)面臨的挑戰(zhàn) 16
單元總結(jié) 17
單元習(xí)題 17
單元2 Hadoop大數(shù)據(jù)處理平臺的安裝與配置 18
任務(wù)2.1 虛擬機(jī)VMware安裝 19
2.1.1 認(rèn)識虛擬機(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 驗證Hadoop本地模式是否安裝成功 49
任務(wù)2.8 Hadoop的偽分布模式安裝和配置 51
2.8.1 以偽分布模式配置Hadoop的配置文件 51
2.8.2 格式化NameNode 53
2.8.3 啟動Hadoop 53
2.8.4 驗證Hadoop偽分布模式是否安裝并啟動成功 54
任務(wù)2.9 Hadoop的完全分布式安裝 56
2.9.1 服務(wù)器規(guī)劃 56
2.9.2 由master克隆出兩臺虛擬機(jī)slave1、slave1 56
2.9.3 啟動3臺虛擬機(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 搭建并測試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 啟動Hadoop集群 76
單元總結(jié) 83
單元習(xí)題 83
實驗2.1 VMware虛擬機(jī)及Centos操作系統(tǒng)安裝 83
實驗2.2 Hadoop偽分布模式安裝與應(yīng)用 84
實驗2.3 Hadoop完全分布模式安裝 85
實驗2.4 Hadoop HA模式安裝 86
單元3 分布式文件系統(tǒng)HDFS 87
任務(wù)3.1 Hadoop HDFS架構(gòu) 88
3.1.1 計算機(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 客戶端Client 95
3.2.5 HDFS體系結(jié)構(gòu)的局限性及改進(jìn)措施 95
任務(wù)3.3 HDFS的數(shù)據(jù)存儲策略 97
3.3.1 數(shù)據(jù)的冗余存儲 97
3.3.2 數(shù)據(jù)的存放策略 97
3.3.3 數(shù)據(jù)的讀寫策略 98
任務(wù)3.4 HDFS容錯 98
3.4.1 文件系統(tǒng)的容錯 99
3.4.2 Hadoop自身的容錯 99
任務(wù)3.5 Hadoop HDFS的數(shù)據(jù)讀寫過程 100
3.5.1 讀數(shù)據(jù)的過程 100
3.5.2 寫數(shù)據(jù)的過程 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ù)線下實驗環(huán)境搭建 104
3.7.2 HDFS的Java API操作 111
單元總結(jié) 119
單元習(xí)題 119
實驗3.1 HDFS實驗操作 119
實驗3.2 HDFS Java API實驗操作 122
單元4 MapReduce和YARN技術(shù) 124
任務(wù)4.1 認(rèn)識MapReduce 124
4.1.1 MapReduce體系結(jié)構(gòu) 125
4.1.2 MapReduce工作流程 125
任務(wù)4.2 認(rèn)識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的運行流程 129
4.3.2 YARN在MapReduce過程中的作用 130
任務(wù)4.4 用MapReduce編寫WordCountApp實現(xiàn)單詞統(tǒng)計 134
4.4.1 任務(wù)要求及程序代碼 135
4.4.2 在IDEA中調(diào)試MapReduce程序統(tǒng)計單詞個數(shù) 136
單元總結(jié) 143
單元習(xí)題 143
實驗4 MapReduce編程實現(xiàn)單詞統(tǒng)計 143
單元5 分布式數(shù)據(jù)庫HBase 145
任務(wù)5.1 認(rèn)識HBase 145
5.1.1 分布式數(shù)據(jù)存儲系統(tǒng)BigTable 146
5.1.2 分布式數(shù)據(jù)庫HBase 146
5.1.3 HBase與傳統(tǒng)關(guān)系型數(shù)據(jù)庫比較 146
5.1.4 HBase訪問接口 148
5.1.5 HBase數(shù)據(jù)模型 148
任務(wù)5.2 HBase的實現(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方式查詢數(shù)據(jù) 165
5.4.6 scan方式查詢數(shù)據(jù) 165
5.4.7 指定條件查詢數(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過濾器使用 168
任務(wù)5.5 HBase Java API編程應(yīng)用 169
5.5.1 環(huán)境準(zhǔn)備 169
5.5.2 編寫HBase Java API程序并執(zhí)行 169
單元總結(jié) 180
單元習(xí)題 181
實驗5.1 HBase組件安裝 181
實驗5.2 HBase實驗操作 182
實驗5.3 HBase JavaAPI編程應(yīng)用 183
單元6 數(shù)據(jù)倉庫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ù)庫的區(qū)別 187
任務(wù)6.2 安裝并配置MySQL數(shù)據(jù)庫 188
6.2.1 修改CentOS-Base.repo配置文件 189
6.2.2 查看系統(tǒng)已安裝的mysql 189
6.2.3 卸載之前已安裝的MySQL版本 190
6.2.4 安裝自動下載工具wget 190
6.2.5 下載MySQL安裝包 191
6.2.6 安裝MySQL 191
6.2.7 安裝MySQL服務(wù) 191
6.2.8 啟動MySQL 192
6.2.9 修改MySQL臨時密碼 192
6.2.10 允許遠(yuǎ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)配置并添加依賴包 197
6.3.5 初始化MySQL元數(shù)據(jù)庫 198
6.3.6 啟動Hive 199
任務(wù)6.4 數(shù)據(jù)倉庫Hive在數(shù)據(jù)處理中的應(yīng)用 199
6.4.1 Hive命令說明 200
6.4.2 Hive數(shù)據(jù)定義 202
6.4.3 Hive數(shù)據(jù)操作 218
6.4.4 Hive數(shù)據(jù)查詢 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ù)實施 240
單元總結(jié) 250
單元習(xí)題 250
實驗6.1 Hive組件安裝 250
實驗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)入過程 254
7.1.3 Sqoop數(shù)據(jù)導(dǎo)出過程 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ū)動包到sqoop/lib目錄 257
7.2.5 配置configure-sqoop 258
7.2.6 修改/etc/profile 258
7.2.7 驗證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
實驗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客戶端常用命令使用 278
8.2.1 Zookeeper啟動操作 279
8.2.2 顯示所有操作命令 279
8.2.3 查看當(dāng)前ZNode中所包含的內(nèi)容 279
8.2.4 查看當(dāng)前節(jié)點詳細(xì)數(shù)據(jù) 280
8.2.5 創(chuàng)建節(jié)點 280
8.2.6 修改節(jié)點數(shù)據(jù)值 283
8.2.7 刪除節(jié)點 283
8.2.8 查看當(dāng)前機(jī)器角色 284
單元總結(jié) 284
單元習(xí)題 284
實驗8 Zookeeper安裝及使用 284
單元9 日志采集系統(tǒng)Flume 286
任務(wù)9.1 Flume技術(shù)原理 286
9.1.1 認(rèn)識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)用實踐 293
單元總結(jié) 298
單元習(xí)題 298
實驗9 Flume安裝及使用 299
單元10 Kafka分布式消息訂閱系統(tǒng) 300
任務(wù)10.1 Kafka技術(shù)原理 300
10.1.1 認(rèn)識Kafka 301
10.1.2 Kafka應(yīng)用場景 301
10.1.3 Kafka架構(gòu)與功能 302
10.1.4 生產(chǎn)者(Producer) 302
10.1.5 消費者(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
實驗10 Kafka安裝與應(yīng)用 311
單元11 大數(shù)據(jù)內(nèi)存計算Spark 313
任務(wù)11.1 認(rèn)識Spark 313
11.1.1 Spark應(yīng)用場景 314
11.1.2 Spark的特點 314
11.1.3 Spark與MapReduce對比 314
11.1.4 Spark的生態(tài)系統(tǒng) 316
任務(wù)11.2 Spark原理與架構(gòu) 318
11.2.1 Spark運行架構(gòu) 318
11.2.2 RDD的設(shè)計與運行原理 320
11.2.3 RDD的算子 323
11.2.4 Spark SQL 324
任務(wù)11.3 Spark集群的安裝部署 325
11.3.1 Spark運行模式 325
11.3.2 Spark on Yarn模式集群安裝 326
11.3.3 Spark RDD操作實踐 329
11.3.3.2 RDD常用轉(zhuǎn)換操作 330
單元總結(jié) 334
單元習(xí)題 334
實驗11 Spark組件安裝與應(yīng)用 334
單元12 Storm流式計算引擎 336
任務(wù)12.1 Storm技術(shù)原理 336
12.1.1 認(rèn)識Storm 337
12.1.2 Storm特點 337
12.1.3 Storm的設(shè)計思想 337
12.1.3 Storm關(guān)鍵概念 338
12.1.4 Storm的系統(tǒng)架構(gòu) 340
12.1.5 Storm與Hadoop對比 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 啟動Storm集群 344
任務(wù)12.3 Storm編程實踐 345
12.3.1 Storm環(huán)境搭建 346
12.3.2 Storm并發(fā)機(jī)制編程實踐 346
12.3.3 調(diào)整Worker進(jìn)程個數(shù) 353
12.3.4 調(diào)整Executor線程個數(shù) 354
12.3.5 調(diào)整Task任務(wù)個數(shù) 354
單元總結(jié) 355
單元習(xí)題 355
實驗12.1 Storm組件安裝 356
實驗12.2 Storm編程實踐 357
參考文獻(xiàn) 358