這個版本的亮點是新的「隔離排程器」,使得在一些拓撲中分享集群變得簡單和安全。
隔離排程程式允許您指定哪些拓撲應該「孤立」,
這意味著它們執行在集群中的一組專用的機器,沒有其他的拓撲將執行。
這些孤立的拓撲在集群中給定優先順序,如果有競爭與non-isolated
拓撲,資源將被分配到孤立
的拓撲。如果需要得到資源給乙個孤立的拓撲,資源將遠離non-isolated拓撲。
一旦所有隔離拓撲分配,剩餘的
機器在所有non-isolated共享集群拓撲。
在nimbus配置中你需要配置隔離排程器。設定"storm.sheduler"為"backtype.storm.sheduler.isolationscheduler"。然後,使用"isolation.
scheduler.machines"配置確定需要多少機器在乙個拓撲中。這個配置是乙個拓撲名稱對映到機器的數量。例如:
isolation.scheduler.machines:
"my-topology": 8
"tiny-topology": 1
"some-other-topology": 3
任何未列出的集群拓撲提交不會孤立。
注意,使用者沒有辦法使得storm影響他們的隔離設定——這是只允許管理員的集群(這是非常有意的)。
隔離排程器解決多使用者共享問題,通過提供完整的隔離拓撲,避免多種拓撲資源爭用。它的
目的是「生產」環境拓撲應該列在隔離配置,
測試或開發中的拓撲就不應該了。剩下的機器在集群中扮演雙重的角色,對隔離的拓撲故障轉移和執行非分隔離拓撲。
此文件來自於:
@zju-tony
1262407491
歡迎拍磚,共同學習!
Storm的排程器
參考 storm現在有4種內建的排程器 defaultscheduler,isolationscheduler,multitenantscheduler,resourceawarescheduler 你可以實現自己的排程器來替代預設的排程器去分配executors給workers。在storm.ya...
原 Storm排程器
storm有4中內建排程器 defaultscheduler,isolationscheduler,multitenantscheduler,resourceawarescheduler.storm中可以實現自己的排程器來替代預設的給worker分配executor的排程器。可以在stom.yaml...
Storm中Topology任務排程策略
storm中負責topo分配的工作由nimbus負責,具體 在nimbus.clj中。對於乙個新topo的分配來說,主要經歷兩個階段 1.邏輯分配階段 這裡又會涉及到兩個概念executor和task,簡單講對於乙個具體的component來說,task就是component在執行時的例項個數,即c...