Storm C++



这里列举部分思路,不详细展开

一、安装 参考博文: http://isuifengfei.iteye.com/blog/1998269
    1、安装zookeeper
    2、安装storm

二、运行
    1、启动zookeeper
            zkServer.sh start
    2、启动storm 
            storm nimbus &                //任务协调
            storm supervisor &            //工作者
            storm ui &                        //Web管理器

三、Topology的编写 参考博文  http://blog.csdn.net/jmppok/article/details/15501947
    要点:
        1、使用C++实现storm的Topology,主要是通过storm的multi-lang 机制,该机制使用进程的stdin 和 stdout 进行进程间通讯,通讯内容遵循一定的规则(特定结构的json,具体见官网multi-lang协议: http://storm.apache.org/documentation/Multilang-protocol.html ),因此进程内不可以随意向stdout printf任何内容。协议的实现可以使用filox开源的stormcpp项目(git: https://github.com/filox/StormCpp ),其封装了multi-lang的通讯规则,用户仅需注意业务逻辑即可。
        2、使用stormcpp需注意,Emit的tuple不要使用json数组,而是嵌套一个json,官方给出的结构我使用下来,发现bolt无法收到tuple(具体原因不明):
                "tuple": ["field1", 2, 3]
        尽量应该使用如下形式:
                "tuple": [{"amount":926,"id":3,"seq":7}]
    3、另外,Spout在进行Emit期间,不要sleep过长时间,应当少量多次,sleep时间过长会导致心跳信号检测超时,官方的说法是“so you should not have to do much to support heartbeats for spouts. That said, you must not let subprocesses sleep more than the worker timeout during next().
  
            
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值