本节书摘来自华章计算机《Storm分布式实时计算模式》一书中的第2章,第2.2节,作者:(美)P. Taylor Goetz Brian O’Neill 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.2 Storm技术栈简介
在安装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来进行管理。