Storm企業級套用:實戰、運維和調優

Storm企業級套用:實戰、運維和調優

《Storm企業級套用:實戰、運維和調優》是機械工業出版社出版的圖書,作者是馬延輝、陳書美、雷葆華。

基本介紹

  • 中文名:Storm企業級套用:實戰、運維和調優
  • 作者:馬延輝、陳書美、雷葆華 
  • 出版社:機械工業出版社 
  • ISBN:9787111503385 
內容簡介,圖書目錄,

內容簡介

這是一本真正能讓讀者通過真實的企業套用實踐掌握如何套用Storm處理各種大數據業務的著作。作者是國內頂尖的大數據專家,深諳初學者的難處和企業的實際需求,在此基礎上巧妙地安排和組織了本書的內容,旨在讓讀者能達到事半功倍的效果。
本書沒有過於繁瑣和高深的理論,先系統介紹了Storm的設計思想、核心組件和適用場景,生產環境的搭建和部署,以及核心概念和數據模型;然後通過實時語音處理、網路流量分析、實時路況分析、數據質量實時監控、交通路況監控、廣告實時流量統計等6典型的企業級案例講解了如何套用Storm處理各種類型的大數據業務,每個案例都包括背景介紹、系統架構、模組設計和邏輯實現等組成部分,講解十分詳盡;最後從運維角度總結了Storm在安裝部署、啟動、運行等環節可能會出現的各種故障並給出了解決方案,以及Storm的各種技巧和最佳實踐。

圖書目錄

  1. Storm企業級套用:實戰、運維和調優
  2. 前言
  3. 為什麼寫作本書
  4. 讀者對象
  5. 如何閱讀本書
  6. 勘誤和支持
  7. 致謝
  8. 基礎篇
  9. 第1章 認識Storm
  10. 1.1 什麼是實時流計算
  11. 1.1.1 實時流計算背景
  12. 1.1.2 實時計算套用場景
  13. 1.1.3 實時計算處理流程
  14. 1.1.4 實時計算框架
  15. 1.2 Storm是什麼
  16. 1.2.1 Storm出現的背景
  17. 1.2.2 Storm簡介
  18. 1.2.3 Storm的設計思想
  19. 1.2.4 Storm與Hadoop的角色和組件比較
  20. 1.3 Storm核心組件
  21. 1.3.1 主節點Nimbus
  22. 1.3.2 工作節點Supervisor
  23. 1.3.3 協調服務組件ZooKeeper
  24. 1.3.4 其他核心組件
  25. 1.4 Storm的特性
  26. 1.5 Storm的功能
  27. 1.6 本章小結
  28. 第2章 開始使用Storm
  29. 2.1 環境準備
  30. 2.1.1 系統配置
  31. 2.1.2 安裝ZooKeeper集群
  32. 2.2 啟動模式
  33. 2.2.1 本地模式
  34. 2.2.2 分散式模式
  35. 2.3 安裝部署Storm集群
  36. 2.3.1 安裝Storm依賴庫
  37. 2.3.2 安裝Storm集群
  38. 2.3.3 啟動Storm集群
  39. 2.3.4 停止Storm集群
  40. 2.4 創建Topology並向集群提交任務
  41. 2.4.1 創建Topology
  42. 2.4.2 向集群提交任務
  43. 2.5 本章小結
  44. 第3章 核心概念和數據流模型
  45. 3.1 Tuple元組
  46. 3.1.1 Tuple描述
  47. 3.1.2 Tuple的生命周期
  48. 3.2 Spout數據源
  49. 3.2.1 Spout介紹
  50. 3.2.2 Spout實例
  51. 3.3 Bolt訊息處理者
  52. 3.3.1 Bolt介紹
  53. 3.3.2 Bolt實例
  54. 3.4 Topology拓撲
  55. 3.4.1 Topology實例
  56. 3.4.2 Topology運行
  57. 3.5 Stream訊息流和Stream Grouping訊息流組
  58. 3.5.1 Stream訊息流
  59. 3.5.2 Stream Grouping訊息流組
  60. 3.6 Task任務
  61. 3.7 Worker工作者進程
  62. 3.8 Worker、Task、Executor三者之間的關係
  63. 3.9 事務
  64. 3.10 數據流模型
  65. 3.10.1 數據流模型簡介
  66. 3.10.2 Storm數據流模型
  67. 3.11 本章小結
  68. 實戰篇
  69. 第4章 實例1:移動互聯——語音“實時牆”
  70. 4.1 業務背景
  71. 4.1.1 案例背景
  72. 4.1.2 設計目標
  73. 4.1.3 數據格式
  74. 4.1.4 硬體配置
  75. 4.2 系統架構與模組設計
  76. 4.2.1 整體架構
  77. 4.2.2 數據採集
  78. 4.2.3 數據實時處理
  79. 4.2.4 存儲設計
  80. 4.2.5 Web實時展示
  81. 4.2.6 硬體部署圖
  82. 4.3 核心模組實現
  83. 4.3.1 實時處理業務邏輯實現
  84. 4.3.2 Web展示實現
  85. 4.3.3 最終效果呈現
  86. 4.4 本章小結
  87. 第5章 實例2:運營商——網路流量流向實時分析
  88. 5.1 業務背景
  89. 5.1.1 案例背景
  90. 5.1.2 設計目標
  91. 5.1.3 數據規模預估
  92. 5.1.4 數據格式
  93. 5.1.5 統計分析需求
  94. 5.2 系統架構與模組設計
  95. 5.2.1 整體架構
  96. 5.2.2 數據源
  97. 5.2.3 日誌採集
  98. 5.2.4 數據存儲
  99. 5.2.5 數據處理
  100. 5.2.6 目標存儲和擴展服務
  101. 5.2.7 結果Web展示
  102. 5.3 核心模組實現
  103. 5.3.1 模擬數據實現
  104. 5.3.2 日誌採集和存儲實現
  105. 5.3.3 數據處理實現
  106. 5.3.4 Web展示實現
  107. 5.4 本章小結
  108. 第6章 實例3:交通——基於GPS的實時路況分析
  109. 6.1 業務背景
  110. 6.1.1 案例背景
  111. 6.1.2 設計目標
  112. 6.1.3 數據格式
  113. 6.1.4 實時路況分析方法
  114. 6.2 系統架構和模組設計
  115. 6.3 核心模組的實現
  116. 6.3.1 安裝Kafka集群
  117. 6.3.2 Flume整合Kafka
  118. 6.3.3 實時處理數據
  119. 6.3.4 Web頁面展示
  120. 6.4 本章小結
  121. 第7章 實例4:網際網路——數據質量實時監控
  122. 7.1 業務背景
  123. 7.1.1 案例背景
  124. 7.1.2 設計目標
  125. 7.1.3 數據格式
  126. 7.2 系統架構與模組設計
  127. 7.2.1 整體架構
  128. 7.2.2 結果Web展示
  129. 7.3 核心模組實現
  130. 7.3.1 模擬數據
  131. 7.3.2 實時處理業務邏輯的實現
  132. 7.3.3 Web界面實現
  133. 7.3.4 最終效果圖
  134. 7.4 本章小結
  135. 第8章 實例5:交通——超速頻發路段監控
  136. 8.1 業務背景
  137. 8.1.1 案例背景
  138. 8.1.2 數據類型
  139. 8.2 系統架構和模組設計
  140. 8.3 核心模組實現
  141. 8.3.1 實現入口類Main
  142. 8.3.2 數據源SocketSpout的實現
  143. 8.3.3 實時處理MapSearchBolt和SpeedProcessBolt的實現
  144. 8.3.4 目標存儲DataBaseLoadBolt的實現
  145. 8.4 本章小結
  146. 第9章 實例6:網際網路——廣告實時流量統計
  147. 9.1 廣告實時流量統計系統架構
  148. 9.1.1 廣告數據
  149. 9.1.2 詳細需求描述
  150. 9.1.3 系統架構
  151. 9.2 表結構與模組設計
  152. 9.2.1 表結構設計
  153. 9.2.2 功能模組設計
  154. 9.3 核心模組實現
  155. 9.3.1 部署物理集群環境
  156. 9.3.2 Kafka生產者邏輯的實現
  157. 9.3.3 使用Storm-kafka實現業務邏輯
  158. 9.3.4 使用HBase存儲並實現統計
  159. 9.4 本章小結
  160. 技巧篇
  161. 第10章 Storm常見故障及解決方法
  162. 10.1 安裝部署故障
  163. 10.1.1 “no jzmq in java.library.path”異常
  164. 10.1.2 “No rule to make target”異常
  165. 10.1.3 “cannot access org.zeromq.ZMQ”異常
  166. 10.1.4 缺少pkg-config異常
  167. 10.1.5 “java.lang.UnsatisfiedLinkError”異常
  168. 10.1.6 “java.lang.NoClassDefFoundError:clojure.core.protocols$”異常
  169. 10.1.7 “Error:cannot link with-luuid,install uuid-dev”異常
  170. 10.1.8 “bad interpreter:No such file or directory”異常
  171. 10.1.9 “org.zeromq.ZMQException:Invalid argument”異常
  172. 10.2 啟動故障
  173. 10.2.1 “java.io.FileNotFoundException”異常
  174. 10.2.2 “java.io.EOFException”異常
  175. 10.3 運行時故障
  176. 10.3.1 “Nimbus host is not set”異常
  177. 10.3.2 “AlreadyAliveException(msg:xxx is alreadyactive)”異常
  178. 10.3.3 無法序列化log4j.Logger異常
  179. 10.3.4 “Failing message”異常
  180. 10.3.5 “java.io.NotSerializableException”異常
  181. 10.3.6 “java.lang.NoClassDefFoundError”異常
  182. 10.3.7 “java.net.NoRouteToHostException”異常
  183. 10.3.8 “java.net.UnknownHostException”異常
  184. 10.3.9 重複defaults.yaml資源檔案異常
  185. 10.3.10 “KeeperException$NoNodeException”異常
  186. 10.3.11 “A fatal error has been detected by the Java Runtime Environment”錯誤
  187. 10.3.12 “java.lang.ArrayIndexOutOfBoundsException”異常
  188. 10.3.13 DRPC空指針異常
  189. 10.3.14 Storm Thrift讀取數據報錯
  190. 10.4 本章小結
  191. 第11章 Storm使用技巧和最佳實踐
  192. 11.1 核心組件使用要點
  193. 11.1.1 Spout和Bolt
  194. 11.1.2 ZooKeeper集群儘量獨立
  195. 11.1.3 Thrift服務的套用場景
  196. 11.1.4 序列化機制的使用場景
  197. 11.2 集群配置技巧
  198. 11.2.1 默認參數配置
  199. 11.2.2 日誌信息
  200. 11.2.3 合理配置JVM參數
  201. 11.3 集群運維技巧
  202. 11.3.1 Storm計算結果的存儲位置
  203. 11.3.2 Storm集群動態增刪節點
  204. 11.3.3 關閉Storm相關進程
  205. 11.3.4 Storm UI顯示內容的問題
  206. 11.4 項目開發技巧
  207. 11.4.1 使用assembly外掛程式打包
  208. 11.4.2 依賴JAR衝突
  209. 11.5 保證訊息的可靠處理
  210. 11.5.1 訊息失敗後的處理
  211. 11.5.2 主動干預可靠性
  212. 11.5.3 處理重複的Tuple
  213. 11.6 理解DRPC原語
  214. 11.6.1 DRPC工作流
  215. 11.6.2 LinearDRPCTopologyBuilder實現類
  216. 11.6.3 DRPC的兩種模式
  217. 11.7 快速理解一致性事務
  218. 11.7.1 Trident框架的使用
  219. 11.7.2 Trident框架的細節
  220. 11.7.3 事務性Spout
  221. 11.7.4 狀態State
  222. 11.8 本章小結

相關詞條

熱門詞條

聯絡我們