回覆列表
  • 1 # 使用者722741174043

    Storm的一個topology的執行過程中有以下幾個成員參與:

    從圖中可以看出,

    ①當supervisor接收到topology任務的時候,他會分配worker去執行。supervisor與node伺服器節點之間是對應關係,supervisor與worker是一對多的關係,即一個supervisor上有一個或者多個worker,但是每個worker只屬於一個supervisor。所以一個topology可以被分配到一個或者多個worker上執行。

    ②worker是執行在jvm虛擬機器上的一個程序process,而一個node節點上又可以執行多個jvm程序。我們知道一個程序是可以有多個執行緒的,一個worker下又可以執行一個或者多個executor。

    ③預設情況下一個executor與task之間是一對一的,也可以透過設定executor對多個task,但是一個task只能有一個executor執行。每個task才是對應到具體的一個spout或者一個bolt。task是實際執行資料處理的最小單元。

    注意:

    Task數量在整個Topology生命週期中保持不變,Executor數量可以變化或手動調整

    設定Worker程序數

    設定Executor執行緒數

    設定Task數量

    Rebalance – 再平衡

    當多了或者少了一些node節點的時候,可以透過rebalance來動態的調整平衡topology的worker數量、Executor執行緒數量

    有兩種方式:

    1、透過Storm UI

    2、透過Storm CLI

    透過ui可以直接在前端介面上更改

    透過cli動態可以用下面的命令:

  • 中秋節和大豐收的關聯?
  • 佳能噴墨印表機墨盒晶片壞了對印表機有影響嗎?