天天看點

《Storm分布式實時計算模式》——2.2 Storm技術棧簡介

本節書摘來自華章計算機《storm分布式實時計算模式》一書中的第2章,第2.2節,作者:(美)p. taylor goetz brian o’neill 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

在安裝storm之前,我們來看看storm和topology是基于哪些技術建立的。

2.2.1 java和clojure

storm運作在java虛拟機上,大部分是使用java和clojure進行開發的。storm的主要接口都是通過java語言定制的,storm使用python實作了可執行程式。除了這些程式,由于java使用了apache thrift接口,java還友好的相容多種其他語言。

storm的元件(spout和bot)實際上可以使用任何目前伺服器安裝支援的語言進行開發。jvm虛拟機支援的語言可以原生的執行,其他語言的實作需要通過jni和storm的多語言協定來實作。

2.2.2 python

所有storm的背景程式和管理指令都是使用單獨一個可執行python檔案來啟動。這包括了nimbus和supervisor背景程式,并包括後續會講的所有的指令和釋出管理指令。這樣做的原因主要是storm叢集中所有的伺服器都安裝了python解釋器。很多工作站也使用python來進行管理。