定 價:¥69.00
作 者: | 肖恩T.艾倫,馬修·揚科夫斯基 |
出版社: | 機械工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787111586210 | 出版時間: | 2018-01-01 | 包裝: | |
開本: | 頁數(shù): | 字數(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ù):起點和終點 12
\n2.1.2 分解問題 12
\n2.2 Storm基礎(chǔ)概念 13
\n2.2.1 拓撲 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中實現(xiàn)GitHub提交數(shù)監(jiān)控看板 22
\n2.3.1 建立一個Storm工程 22
\n2.3.2 實現(xiàn)spout 23
\n2.3.3 實現(xiàn)bolt 26
\n2.3.4 集成各個部分組成拓撲 29
\n2.4 小結(jié) 30
\n第3章 拓撲設(shè)計 31
\n3.1 拓撲設(shè)計方法 32
\n3.2 問題定義:一個社交熱力圖 32
\n3.3 將解決方案映射至Storm的邏輯 33
\n3.3.1 考慮數(shù)據(jù)流本身施加的要求 33
\n3.3.2 將數(shù)據(jù)點表示為元組 34
\n3.3.3 確定拓撲組成的步驟 35
\n3.4 設(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)建一個拓撲 48
\n3.5 擴展拓撲 49
\n3.5.1 理解Storm中的并行機制 50
\n3.5.2 調(diào)整拓撲配置來解決設(shè)計中遺留的瓶頸 54
\n3.5.3 調(diào)整拓撲以解決數(shù)據(jù)流中固有的瓶頸 60
\n3.6 拓撲的設(shè)計范式 63
\n3.6.1 分解為功能組件的設(shè)計方法 65
\n3.6.2 基于重分配來分解組件的設(shè)計方法 65
\n3.6.3 最簡單的功能組件與最少的重分配次數(shù) 69
\n3.7 小結(jié) 70
\n第4章 設(shè)計健壯的拓撲 71
\n4.1 對可靠性的要求 71
\n4.2 問題定義:一個信用卡授權(quán)系統(tǒng) 72
\n4.2.1 有重試特性的概念性解決方案 72
\n4.2.2 定義數(shù)據(jù)點 74
\n4.2.3 在Storm上實現(xiàn)帶有重試特性的方案 74
\n4.3 bolt基礎(chǔ)實現(xiàn) 76
\n4.3.1 AuthorizeCreditCard的實現(xiàn) 76
\n4.3.2 ProcessedOrderNotification的實現(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拓撲中檢查僅一次處理 88
\n4.5.3 檢查拓撲中的可靠性保障 89
\n4.6 小結(jié) 94
\n第5章 拓撲由本地到遠程的實施 95
\n5.1 Storm集群 96
\n5.1.1 解析工作結(jié)點 98
\n5.1.2 基于信用卡授權(quán)拓撲的上下文來理解工作結(jié)點 99
\n5.2 Storm集群容錯中的快速失敗機制 100
\n5.3 安裝Storm集群 101
\n5.3.1 配置Zookeeper集群 101
\n5.3.2 在 Storm 的主結(jié)點和工作結(jié)點上安裝依賴組件 102
\n5.3.3 安裝Storm到主結(jié)點和工作結(jié)點 102
\n5.3.4 通過storm.yaml配置主結(jié)點和工作結(jié)點 102
\n5.3.5 在監(jiān)督機制下啟動Nimbus和Supervisor 103
\n5.4 在Storm集群上運行拓撲 104
\n5.4.1 重新考慮如何將拓撲組件組合在一起 104
\n5.4.2 在本地模式下運行拓撲 105
\n5.4.3 在一個遠程 Storm 集群上運行拓撲 105
\n5.4.4 在一個遠程Storm集群上部署拓撲 106
\n5.5 Storm UI及其在集群中的角色 107
\n5.5.1 Storm UI:Storm集群概要 107
\n5.5.2 Storm UI:獨立拓撲概要 111
\n5.5.3 Storm UI:獨立spout/bolt概要 115
\n5.6 小結(jié) 118
\n第6章 對Storm進行調(diào)優(yōu) 120
\n6.1 問題定義:Daily Deals!重生版 121
\n6.1.1 創(chuàng)建概念性解決方案 121
\n6.1.2 將方案轉(zhuǎn)換為Storm設(shè)計 122
\n6.2 初始化實施 122
\n6.2.1 spout:讀取自一個數(shù)據(jù)源 124
\n6.2.2 bolt:查找推薦商品 125
\n6.2.3 bolt:為每個商品查詢詳細信息 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ù)流入拓撲的速率 135
\n6.4 延遲率:當(dāng)外部系統(tǒng)依然能正常工作時 137
\n6.4.1 在拓撲中模擬延遲 137
\n6.4.2 延遲的外因和內(nèi)因 139
\n6.5 Storm的指標統(tǒng)計API 143
\n6.5.1 使用Storm的內(nèi)建
\nCountMetric 143
\n6.5.2 設(shè)置一個指標接收器 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é)點上運行的工作進程數(shù)量 152
\n7.1.1 問題 152
\n7.1.2 解決方案 152
\n7.1.3 討論 153
\n7.2 修改工作進程(JVM)上的內(nèi)存分配 153
\n7.2.1 問題 153
\n7.2.2 解決方案 154
\n7.2.3 討論 154
\n7.3 定位拓撲上運行的工作結(jié)點/進程 154
\n7.3.1 問題 154
\n7.3.2 解決方案 155
\n7.3.3 討論 155
\n7.4 在一個Storm集群中的工作進程沖突 156
\n7.4.1 問題 157
\n7.4.2 解決方案 157
\n7.4.3 討論 158
\n7.5 在一個工作進程(JVM)中的內(nèi)存沖突 159
\n7.5.1 問題 162
\n