Storm執行緒程序分配方法

2021-08-09 23:06:08 字數 746 閱讀 3521

原文:

執行中的topology主要由以下三個元件組成的:

其中程序數除以機器數可以得到每台機器的程序數,我們以一台機器為例:

spout或者bolt的task個數一旦指定之後就不能改變了,而executor的數量可以根據情況來進行動態的調整。預設情況下# executor = #tasks即乙個executor中執行著乙個task。

如上面**所示:

程序數=numworkers=2

執行緒數=blue_parallelism_hint(2)+green_parallelism_hint(2)+yellow_parallelism_hint(6)=10

10個執行緒/2個程序 = 5個執行緒/程序

blue-spout 執行緒數 = 2 

blue-spout task數 = blue-spout numtasks = 4

4/2=2 即每個blue-spout執行緒有2個task。

執行緒數量即併發度可以動態調整,其它的引數啟動後就不能調整了。

以一張圖更清晰的說明:

Storm執行緒程序分配方法

原文 執行中的topology主要由以下三個元件組成的 其中程序數除以機器數可以得到每台機器的程序數,我們以一台機器為例 spout或者bolt的task個數一旦指定之後就不能改變了,而executor的數量可以根據情況來進行動態的調整。預設情況下 executor tasks即乙個executor...

類存分配方法

color green 1 記憶體分配方式 記憶體分配方式有三種 color green size medium 1 從靜態儲存區域分配。內存在程式編譯的時候就已經分配好,這塊內存在程式的整個執行期間都存在。例如全域性變數,static變數。2 在棧上建立。在執行函式時,函式內區域性變數的儲存單元都...

java的記憶體分配方法

記憶體分配方法主要可以分為 堆 heap 靜態區域 由static修飾 棧 stack 常量池 其中,堆和常量池主要存放 右邊的 值 而棧和靜態區域則主要存放 左邊的變數 名 或者引用 名 舉幾個栗子 1 string str abc static int a 10 str stack 因為是 變數...