1. 程式人生 > >storm概述、叢集安裝和簡單的命令列操作

storm概述、叢集安裝和簡單的命令列操作

http://storm.apache.org

Apache Storm是一個免費的開源分散式實時計算系統。Storm可以輕鬆可靠地處理無限資料流,實現Hadoop對批處理所做的實時處理。Storm非常簡單,可以與任何程式語言一起使用,並且使用起 來很有趣!

Storm有許多用例:實時分析,線上機器學習,連續計算,分散式RPC,ETL等。風暴很快:一個基準測試表示每個節點每秒處理超過一百萬個元組。它具有可擴充套件性,容錯性,可確保您的資料得到處 理,並且易於設定和操作。

Storm集成了您已經使用的排隊和資料庫技術。
Storm拓撲消耗資料流並以任意複雜的方式處理這些流,然後在計算的每個階段之間重新劃分流。閱讀教程中的更多內容。

離線計算是什麼?
    批量獲取資料、批量的傳輸資料、批量的儲存資料、週期性計算資料、資料視覺化
    flume批量獲取資料、sqoop批量傳輸、hdfs/hive/hbase批量儲存、mr/hive計算資料、BI
    
實時計算是什麼?
    資料實時產生、資料實時傳輸、資料實時計算、實時展示 flume實時獲取資料、kafka實時資料儲存、Storm/JStorm實時計算、實時展示(dataV/quickBI)


        hadoop             storm
角色:    JobTracker        Nimbus
        TaskTracker        Supervisor
        Child             Worker
應用名稱: Job             Topology 
程式設計介面:    Mapper/Reducer     Spout/Bolt

storm程式設計模型
    tuple:元祖
        是訊息傳輸的基本單位
    Spout:水龍頭
        storm的核心抽象,拓撲的流的來源。Spout通常從外部資料來源讀取資料。轉換為拓撲內部的源資料。

        主要方法:nextTuple() 發出一個新的元祖到拓撲
                ack()    
                fail()    

    Bolt:轉接頭
        Bolt是對流的處理節點。Bolt作用:過濾、業務、連線運算。

    Topology:拓撲
        是一個實時的應用程式
        永遠執行,除非被殺死。
        Spout到Bolt是一個連線流。。。

安裝叢集

    1、準備工作
    2、下載安裝包
    3、上傳
    4、解壓
    5、配置
        vi storm.yaml

        storm.zookeeper.servers:
             - "bigdata"
        #     - "server2"
        # 設定主節點的主機名稱
        nimbus.seeds: ["bigdata"]

        storm.local.dir: "/Library/bigdata/apache-storm-1.0.3/tmp"

        supervisor.slots.ports:
            - 6700
            - 6701
            - 6702
            - 6703
    6、啟動
        zkServer.sh start
        storm nimbus &
        storm supervisor &
        storm ui

storm命令列操作
    1、檢視命令幫助
        storm help
    2、檢視版本
        storm version
    3、執行storm程式
        storm jar [路徑/.jar][全類名][拓撲名稱]
    4、產看當前正在執行拓撲及其狀態
        storm list
    5、終止拓撲程式
        storm kill [拓撲名稱]
    6、啟用指定的拓撲程式
        storm activate [拓撲名稱]
    7、禁止拓撲程式
        storm deactivate [拓撲名稱]