從零開始學Storm(第2版) 从零开始学Storm(第2版)

趙必廈, 程麗明

  • 出版商: 清華大學
  • 出版日期: 2016-07-01
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • 頁數: 367
  • ISBN: 7302438072
  • ISBN-13: 9787302438076
  • 相關分類: Storm
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書由基礎知識、安裝與部署、研發與維護、進階知識、企業應用5個模塊構成,並細分為20個章節,其中“基礎知識”6章、“安裝與部署”4章、“研發與維護”4章、“進階知識”5章、“企業應用”1章,分別介紹了Storm的基本原理、Topology組件、Spout組件、Bolt組件、ZooKeeper集群、Storm的安裝與配置、實戰環節等內容,包括理論基礎、環境搭建、研發準備、企業應用等。

本書理論聯繫實際,通過大量實例分析,讓讀者在較短的時間內掌握Storm的使用,搭建並研發出自己的基於Storm的大數據處理平臺。本書適合所有大數據處理、實時流數據處理、Storm的開發者或愛好者,也適合高等院校和培訓學校相關專業的師生參考使用

作者簡介

趙必廈

碩士,具有多年的面向對象語言研發經驗,熟練掌握C++、Java、C#等面向對象語言,專注於雲計算、大數據、互聯網等方面的研究與研發工作,積累了豐富的經驗。

程麗明

碩士,目前從事服務器虛擬化與雲計算構建、信息化安全的研究和產品開發工作。有多年的項目開發經驗,研究興趣包括虛擬化、雲計算、SDN、移動辦公安全等。

目錄大綱

第1章Storm簡介
1.1什麼是Storm 
1.2Storm的誕生
1.2.1從Twitter說起
1.2.2Twitter需要處理大批實時性要求高的大數據業務
1.2.3Storm幫助Twitter解決實時海量大數據處理問題
1.3Storm的成長
1.3.1Storm正式開源
1.3.2Apache接管並孵化Sto姍
1.3.3Storm的核心技術和基本組成
1.3.4Storm的項目小組
1.3.5Storm的技術支持網站
1.4Storm的優勢
1.4.1集成多種技術
1.4.2簡單的API 
1.4.3可擴展的
1.4.4容錯的
1.4.5保證數據處理
1.4.6可以使用任何語言
1.4.7部署和操作簡單
1.4.8自由開源
1.5Storm的應用現狀和發展趨勢
1.5.1應用現狀
1.5.2發展趨勢
1.6如何學習Storm 
1.7本書的章節安排及學習建議
1.7.1本書的章節安排
1.7.2關於如何閱讀本書的建議
1.8本章小結

第2章Storm的基本知識
2.1概念
2.1.1元組(Tuple)
2.1.2流(Stream)
2.1.3龍捲(Spout)
2.1.4閃電(Bolt)
2.1.5拓撲(Topology)
2.1.6主控節點與工作節點
2.1.7Nimbus進程與Supervisor進程
2.1.8流分組(Stream grouping)
2.1.9工作進程(Worker)
2.1.10任務(Task)
2.1.11執行器(Executor)
2.1.12可靠性( Reliability)
2.2Storm的配置
2.2.1Storm的配置類型
2.2.2defaults.yaml文件
2.2.3storm.yaml文件
2.2.4Config類
2.3序列化(Serialization)
2.3.1動態類型
2.3.2自定義序列化
2.3.3Java序列化
2.3.4特定組件序列化註冊
2.4容錯機制
2.4.1Worker進程死亡
2.4.2節點死亡
2.4.3Nimbus或者Supervisor守護進程死亡
2.4.4Nimbus是否是“單點故障”
2.5可靠性機制——保證消息處理
2.5.1消息被“完全處理”的含義
2.5.2如果一個消息被完全處理或完全處理失敗會發生什麼
2.5.3Storm如何保證可靠性
2.5.4Storm如何實現可靠性
2.5.5調節可靠性
2.6消息傳輸機制
2.6.1ZeroMQ 
2.6.2Netty 
2.6.3自定義消息通信機制
2.7Storm的開發環境與生產環境
2.7.1開發環境與本地模式
2.7.2生產環境與遠程模式
2.7. 3開發環境與生產環境的對比
2.8Storm拓撲的並行度(parallelism)
2.8.1工作進程、執行器和任務
2.8.2配置拓撲的並行度
2.8.3拓撲示例
2.8.4如何改變運行中拓撲的並行度
2.9Storm命令行客戶端
2.10Javadoc文檔
2.11本章小結

第3章拓撲詳解
3.1什麼是拓撲
3.2TopologyBuilder 
3.3流分組
3.3.1什麼是流分組
3.3.2不同的流分組方式
3.4—個簡單的拓撲
3.5在本地模式下運行拓撲
3.6在生產集群上運行拓撲
3.6.1常見的配置
3.6.2殺死拓撲
3.6.3更新運行中的拓撲
3.6.4監控拓撲
3.7拓撲的常見模式
3.7.1流連接(Stream Join)
3.7.2批處理(Batching)
3.7.3BasicBOlt 
3.7.4內存中緩存與字段的組合
3.7.5流的topN 
3.7.6高效保存最近更新緩存對象的TimeCacheMap(己棄用)
3.7.7分佈式RPC的CoordinatedBolt與KeyedFairBolt 
3.8本地模式與StormSubmitter的對比
3.9多語言協議(Multi—LanguageProtocol)
3.10使用非JVM語言操作Storm 
3.10.1支持的非Java語言
3.10.2對Storm使用非Java語言
3.10.3實現非JavaDSL的筆記
3.1lHOOk 
3.12本章小結

第4章組件詳解
4.1基本接口
4.1.1IComponent接口
4.1.2ISpout接口
4.1.3IBolt接口
4.1.4IRichSpout與IRichBolt接口
4.1.5IBasicBolt接口
4.1,6IStateSpout與IRichStateSpout接口
4.2基本抽像類
4.2,1BaseComponent抽像類
4.2.2BaseRichSpout抽像類
4.2.3BaseRichBolt抽像類
4.2.4BaseBasicBolt抽像類
4.3事務接口
4.3.1IPartitionedTransactionaISpout 
4.3.2IOpaquePartitionedTransactionalSpout 
4.3.3ITransactionalSpout 
4.3.4ICommitterTransactionaISpout 
4.3 .5IBatchBolt 
4.4組件之間的相互關係
4.5本章小結

第5章Spout詳解
5.1可靠的與不可靠的消息
5.2Spout獲取數據的方式
5.2.1直接連接(Direct Connection)
5.2.2消息隊列(Enqueued Messages)
5.2 .3DRPC(分佈式RPC)
5.3常用的Spout 
5.3.1Kestrel作為Spout的數據源
5.3.2AMQP作為Spout的數據源
5.3.3JMS作為Spout的數據源
5.3.4Redis作為Spout的數據源
5.3.5beanstalkd作為Spout的數據源
5.4學習編寫Spout類
5.5本章小結
…… 
第6章Bolt詳解
第7章ZooKeeper詳解
第8章基礎軟件的安裝與使用
第9章Storm的安裝與配置
第10章Storm集群搭建實踐
第11章準備Storm的開發環境
第12章開發自己的Storm應用
第13章storm—starter詳解
第14章研發與集群管理技巧
第15章DRPC詳解
第16章事務拓撲詳解
第17章Trident詳解
第18章Storm的內部實現
第19章Storm相關的其他項目
第20章企業應用案例
參考資料