storm多个worker发送数据缺失

刘航 发布于 2016/08/22 17:41
阅读 428
收藏 0

实时从kafka中获取数据,然后落地到hbase。

环境: storm0.9.6 , kafka0.9.0.0 

sport 通过storm-kafka组件获取数据,blot_etl负责拆分解析数据,然后发送给下游blot做统计。

blot_etl输出定义为

declarer.declare(new Fields("plat_id", "dvc_id", "amt", "flag"));

下游blot内部根据date和plat_id来分组,内存中统计一秒窗口数据然后写入hbase

topology里面设置

// kafka builder.setSpout("kafka", ConfigureKafkaSpout.configureKafkaSpout(Constants.KAFKA_TOPIC_MOBILE,  Constants.KAFKA_ZKROOT, Constants.KAFKA_TOPIC_ID_MOBILE_REALTIME), 12); 
// etl builder.setBolt("etl", new MobileETLBolt(), 12).shuffleGrouping("kafka"); 
// pv 每秒PV builder.setBolt("pv", new PvBolt(), 12).fieldsGrouping("etl", new Fields("date","plat_id "));


问题如下:

设置1个worker的时候统计数据正常,但是当worker设置大于1个的时候,数据出现明显统计下降,而且worker设置越多,数据统计越少,比如,设置2个worker,数据大约只有原来的一半,设置12个worker的时候,数据大概就是1个work的1/12的样子,很奇怪,DEMO测试正常,不知道原因在哪儿了?



加载中
0
peak-c
peak-c

哥儿问题解决了吗。也遇到同样问题,help

返回顶部
顶部