定 價:¥69.00
作 者: | 肖恩T.艾倫,馬修·揚(yáng)科夫斯基 |
出版社: | 機(jī)械工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787111586210 | 出版時間: | 2018-01-01 | 包裝: | |
開本: | 頁數(shù): | 字?jǐn)?shù): |
目 錄?Contents
\n譯者序
\n序
\n前言
\n致謝
\n關(guān)于本書
\n關(guān)于原書封面插圖
\n第1章 Storm簡介 1
\n1.1 什么是大數(shù)據(jù) 1
\n1.1.1 大數(shù)據(jù)的四大特性 2
\n1.1.2 大數(shù)據(jù)工具 3
\n1.2 Storm如何應(yīng)用于大數(shù)據(jù)應(yīng)用場景 5
\n1.3 為什么你希望使用Storm 9
\n1.4 小結(jié) 10
\n第2章 Storm核心概念 11
\n2.1 問題定義:GitHub提交數(shù)監(jiān)控看板 11
\n2.1.1 數(shù)據(jù):起點(diǎn)和終點(diǎn) 12
\n2.1.2 分解問題 12
\n2.2 Storm基礎(chǔ)概念 13
\n2.2.1 拓?fù)? 13
\n2.2.2 元組 15
\n2.2.3 流 16
\n2.2.4 spout 17
\n2.2.5 bolt 18
\n2.2.6 流分組 20
\n2.3 在Storm中實(shí)現(xiàn)GitHub提交數(shù)監(jiān)控看板 22
\n2.3.1 建立一個Storm工程 22
\n2.3.2 實(shí)現(xiàn)spout 23
\n2.3.3 實(shí)現(xiàn)bolt 26
\n2.3.4 集成各個部分組成拓?fù)? 29
\n2.4 小結(jié) 30
\n第3章 拓?fù)湓O(shè)計(jì) 31
\n3.1 拓?fù)湓O(shè)計(jì)方法 32
\n3.2 問題定義:一個社交熱力圖 32
\n3.3 將解決方案映射至Storm的邏輯 33
\n3.3.1 考慮數(shù)據(jù)流本身施加的要求 33
\n3.3.2 將數(shù)據(jù)點(diǎn)表示為元組 34
\n3.3.3 確定拓?fù)浣M成的步驟 35
\n3.4 設(shè)計(jì)的初步實(shí)現(xiàn) 38
\n3.4.1 spout:從數(shù)據(jù)源讀取數(shù)據(jù) 38
\n3.4.2 bolt:連接至外部服務(wù) 39
\n3.4.3 bolt:將數(shù)據(jù)寄放在內(nèi)存里 41
\n3.4.4 bolt:持久化存儲到數(shù)據(jù)庫 45
\n3.4.5 定義組件間的流分組策略 47
\n3.4.6 在本地集群模式中構(gòu)建一個拓?fù)? 48
\n3.5 擴(kuò)展拓?fù)? 49
\n3.5.1 理解Storm中的并行機(jī)制 50
\n3.5.2 調(diào)整拓?fù)渑渲脕斫鉀Q設(shè)計(jì)中遺留的瓶頸 54
\n3.5.3 調(diào)整拓?fù)湟越鉀Q數(shù)據(jù)流中固有的瓶頸 60
\n3.6 拓?fù)涞脑O(shè)計(jì)范式 63
\n3.6.1 分解為功能組件的設(shè)計(jì)方法 65
\n3.6.2 基于重分配來分解組件的設(shè)計(jì)方法 65
\n3.6.3 最簡單的功能組件與最少的重分配次數(shù) 69
\n3.7 小結(jié) 70
\n第4章 設(shè)計(jì)健壯的拓?fù)? 71
\n4.1 對可靠性的要求 71
\n4.2 問題定義:一個信用卡授權(quán)系統(tǒng) 72
\n4.2.1 有重試特性的概念性解決方案 72
\n4.2.2 定義數(shù)據(jù)點(diǎn) 74
\n4.2.3 在Storm上實(shí)現(xiàn)帶有重試特性的方案 74
\n4.3 bolt基礎(chǔ)實(shí)現(xiàn) 76
\n4.3.1 AuthorizeCreditCard的實(shí)現(xiàn) 76
\n4.3.2 ProcessedOrderNotification的實(shí)現(xiàn) 77
\n4.4 消息處理保障 78
\n4.4.1 元組狀態(tài):處理完成或失敗 78
\n4.4.2 bolt中的錨定、應(yīng)答和容錯 80
\n4.4.3 spout在消息處理保障中的角色 84
\n4.5 回放語義 87
\n4.5.1 Storm中可靠性的級別 87
\n4.5.2 在Storm拓?fù)渲袡z查僅一次處理 88
\n4.5.3 檢查拓?fù)渲械目煽啃员U? 89
\n4.6 小結(jié) 94
\n第5章 拓?fù)溆杀镜氐竭h(yuǎn)程的實(shí)施 95
\n5.1 Storm集群 96
\n5.1.1 解析工作結(jié)點(diǎn) 98
\n5.1.2 基于信用卡授權(quán)拓?fù)涞纳舷挛膩砝斫夤ぷ鹘Y(jié)點(diǎn) 99
\n5.2 Storm集群容錯中的快速失敗機(jī)制 100
\n5.3 安裝Storm集群 101
\n5.3.1 配置Zookeeper集群 101
\n5.3.2 在 Storm 的主結(jié)點(diǎn)和工作結(jié)點(diǎn)上安裝依賴組件 102
\n5.3.3 安裝Storm到主結(jié)點(diǎn)和工作結(jié)點(diǎn) 102
\n5.3.4 通過storm.yaml配置主結(jié)點(diǎn)和工作結(jié)點(diǎn) 102
\n5.3.5 在監(jiān)督機(jī)制下啟動Nimbus和Supervisor 103
\n5.4 在Storm集群上運(yùn)行拓?fù)? 104
\n5.4.1 重新考慮如何將拓?fù)浣M件組合在一起 104
\n5.4.2 在本地模式下運(yùn)行拓?fù)? 105
\n5.4.3 在一個遠(yuǎn)程 Storm 集群上運(yùn)行拓?fù)? 105
\n5.4.4 在一個遠(yuǎn)程Storm集群上部署拓?fù)? 106
\n5.5 Storm UI及其在集群中的角色 107
\n5.5.1 Storm UI:Storm集群概要 107
\n5.5.2 Storm UI:獨(dú)立拓?fù)涓乓? 111
\n5.5.3 Storm UI:獨(dú)立spout/bolt概要 115
\n5.6 小結(jié) 118
\n第6章 對Storm進(jìn)行調(diào)優(yōu) 120
\n6.1 問題定義:Daily Deals!重生版 121
\n6.1.1 創(chuàng)建概念性解決方案 121
\n6.1.2 將方案轉(zhuǎn)換為Storm設(shè)計(jì) 122
\n6.2 初始化實(shí)施 122
\n6.2.1 spout:讀取自一個數(shù)據(jù)源 124
\n6.2.2 bolt:查找推薦商品 125
\n6.2.3 bolt:為每個商品查詢詳細(xì)信息 126
\n6.2.4 bolt:保存推薦的商品詳情 127
\n6.3 調(diào)優(yōu):我想為它提速 128
\n6.3.1 Storm UI:調(diào)優(yōu)的定位工具 128
\n6.3.2 為性能值建立一個基線集 130
\n6.3.3 判斷瓶頸 131
\n6.3.4 spout:控制數(shù)據(jù)流入拓?fù)涞乃俾? 135
\n6.4 延遲率:當(dāng)外部系統(tǒng)依然能正常工作時 137
\n6.4.1 在拓?fù)渲心M延遲 137
\n6.4.2 延遲的外因和內(nèi)因 139
\n6.5 Storm的指標(biāo)統(tǒng)計(jì)API 143
\n6.5.1 使用Storm的內(nèi)建
\nCountMetric 143
\n6.5.2 設(shè)置一個指標(biāo)接收器 144
\n6.5.3 創(chuàng)建一個自定義的SuccessRateMetric 145
\n6.5.4 創(chuàng)建一個自定義的MultiSuccessRateMetric 147
\n6.6 小結(jié) 149
\n第7章 資源沖突 150
\n7.1 調(diào)整一個工作結(jié)點(diǎn)上運(yùn)行的工作進(jìn)程數(shù)量 152
\n7.1.1 問題 152
\n7.1.2 解決方案 152
\n7.1.3 討論 153
\n7.2 修改工作進(jìn)程(JVM)上的內(nèi)存分配 153
\n7.2.1 問題 153
\n7.2.2 解決方案 154
\n7.2.3 討論 154
\n7.3 定位拓?fù)渖线\(yùn)行的工作結(jié)點(diǎn)/進(jìn)程 154
\n7.3.1 問題 154
\n7.3.2 解決方案 155
\n7.3.3 討論 155
\n7.4 在一個Storm集群中的工作進(jìn)程沖突 156
\n7.4.1 問題 157
\n7.4.2 解決方案 157
\n7.4.3 討論 158
\n7.5 在一個工作進(jìn)程(JVM)中的內(nèi)存沖突 159
\n7.5.1 問題 162
\n