storm中可以實現自己的排程器來替代預設的給worker分配executor的排程器。
可以在stom.yaml檔案中的「storm.scheduler」選項中配置且自定義的排程器必須實現ischeduler介面。
隔離排程器使得多個topologies共享集群資源更加容易和安全。隔離排程器讓你指定那個topologies 應該隔離,也就是說隔離的topologies 執行在集群中的特定的機器中,該機器上沒有其它執行的topologies 。這些隔離的topologies 具有高優先級別,所以如果和非隔離的topologies競爭資源,資源將會分配給隔離的topologies;如果必須給隔離topologies分配資源,那麼將會從非隔離的topologies中獲取資源。一旦所有的隔離topologies所需資源得到滿足,那麼集群中剩下的機器將會被非隔離的topologies共享。
配置隔離排程器:
1)在nimbus配置選項「storm.scheduler」賦值"org.apache.storm.scheduler.isolationscheduler"。
2)在"isolation.scheduler.machines"選項中指定每個topology 分配多少臺機器。這個配置是乙個map集合。如下:
isolation.scheduler.machines:
"my-topology": 8
"tiny-topology": 1
"some-other-topology": 3
提交到集群中的topologies 如果沒有出現上上述map中,那麼將不會被隔離。注意:該配置只能通過集群的管理員分配
這種隔離排程器解決了多租戶問題,通過在多個topologies 完全隔離,避免了topologies 的資源競爭問題。
Storm的排程器
參考 storm現在有4種內建的排程器 defaultscheduler,isolationscheduler,multitenantscheduler,resourceawarescheduler 你可以實現自己的排程器來替代預設的排程器去分配executors給workers。在storm.ya...
Storm 隔離排程器
這個版本的亮點是新的 隔離排程器 使得在一些拓撲中分享集群變得簡單和安全。隔離排程程式允許您指定哪些拓撲應該 孤立 這意味著它們執行在集群中的一組專用的機器,沒有其他的拓撲將執行。這些孤立的拓撲在集群中給定優先順序,如果有競爭與non isolated 拓撲,資源將被分配到孤立 的拓撲。如果需要得到...
原 Storm環境搭建
storm有兩種操作模式 本地模式和遠端模式。在本地模式中,在本地機器中的程序中就可以開發和測試topologies。在遠端模式中,是將topologies提交到遠端的集群中執行。storm開發環境已安裝好了一切,所以可以在本地模式中進行開發和測試,然後將topologies 打jar包傳送到集群中...