189 8069 5689

Storm使用非JVM的语言-创新互联

Storm使用非JVM的语言
要点:
1、创建topology(官方文档说使用其他语言创建很简单,因为topology本身是一个thrift结构,参考stotm.thrift)
2、用其他语言实现spout和bolt,被叫做 multilang components" 或"shelling"
a:这里有一个指定的协议Multilang protocol
b:thrift结构允许你明确的定义multilang components作为程序和脚本
c:在Java中,你覆盖ShellBolt或ShellSpolt来创建multilang components,注意输出字段的声明发生在thrift结构,所以在Java中创建multilang components如下所示:通过指定它在Java中声明领域,用其他语言处理代码指定shellbolt的结构,multilang使用JSON消息在标准输入/输出与子进程进行通信,storm伴随ruby、python和其他语言实现协议,展示一个python的例子:
   python支持emitting, anchoring, acking, and logging
d:storm shell使得对nimbus打jar包和上传更方便
   打jar包,上传
   调用程序nimbus使用host/port,jar文件使用id号

为闽清等地区用户提供了全套网页设计制作服务,及闽清网站建设行业解决方案。主营业务为网站设计、网站制作、闽清网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

为Storm定义一个非JVM的语言
   因为Storm topology是一个thrift结构,并且nimbus是一个thrift进程,你可创建和提交topology用任何语言,开始学习的地方是storm.thrift。当你为spout和bolt创建thrift结构时,spolt和bolt指定的代码结构是:
union ComponentObject {
 1: binary serialized_java;
 2: ShellComponent shell;
 3: JavaObject java_object;
}
使用非jvm的语言,你可能会使用2或3.ShellCompont让你指定脚本去运行,JavaObject让你指定java的spolt和bolt,storm shell命令帮你提交topology
storm shell resources/ python topology.py arg1 arg2

storm shell 将打jar包,上传jar包给nimbus,命令如下:
python topology.py arg1 arg2 {nimbus-host} {nimbus-port} {uploaded-jar-location}

提交topology到集群上
void submitTopology(1: string name, 2: string uploadedJarLocation, 3: string jsonConf, 4: StormTopology topology) throws (1: AlreadyAliveException e, 2: InvalidTopologyException ite);

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:Storm使用非JVM的语言-创新互联
转载源于:http://jkwzsj.com/article/cogpgj.html

其他资讯