2016-11-04 62 views
0

我的項目通過風暴將對象數據傳輸到圖形應用程序。這些對象的外觀取決於風暴拓撲中由螺栓分配的變量。在Apache Storm中運行時編輯螺栓進程

我的問題是,是否可以通過向它發送消息更新螺栓過程來更改它附加到對象數據的變量。例如,在向螺栓發送消息之後,聲明我希望任何具有參數x的對象超過某個數字時,顯示爲紅色而不是藍色。 螺栓過程然後會將紅色的rgb變量附加到對象數據而不是藍色。

我在想這將是可能的有一個displayConfig類,螺栓用來應用外觀和誰的內容可以通過帶有特定標題的郵件進行編輯。

這可能嗎?

回答

1

這是可能的,但您需要手動執行並在啓動之前爲拓撲做好準備。

有兩種方法可以做到這一點:

  1. 使用了您放入工人機(可能通過NFS)螺栓本地配置文件。如果您更改文件,這些螺栓會定期檢查文件是否更新以及讀取更新後的配置。

  2. 您可以使用另一個生成配置流的噴口。您希望在運行期間發送配置的所有螺栓都需要通過「allGrouping」從該配置消耗。當處理輸入元組時,你檢查它是否是一個常規數據元組或配置元組(並相應地更新你的配置)。

+0

感謝您的幫助。最後我用zookeeper znodes來存儲配置信息。每個螺栓都可以在znodes上設置偵聽器,因此每當znode發生更改時都可以更新其配置。對於任何有興趣的人,我都使用了curatorWatcher PathChildrenCache食譜。 –