小议Storm输出到hdfs的各种方案

小议Storm输出到hdfs的各种方案(byjacobzeng fromWeibo)

1)方案较多,从数据收集角度分为:NFS收集、Scribe/Flume等收集、不收集(多个Bolt并行写入),从数据写入角度分为:分段写入本地文件后Put、Fuse-HDFS写入、dfsCLient写入,收集和写入可以组合为多种方案;显然NFS在收集方面无优势,可以排除;另外Fuse-HDFS方案依赖于osfuse的支持,不适合于数据不收集的情况;剩余的5种组合适合不同的业务场景。

2)收集写入的最大优点是:多个topology多Bolt数据流合并分拆控制灵活,写入客户端部署维护方便;但同时,由于引入了storm控制之外的新的数据处理环节,增加了transactionaltopology控制的复杂度,需要收集系统特别的支持replay,使得该方案并不太适合正确性要求较高的应用,当然对于数据丢失可以容忍的场景该方案是OK的。

3)最后看一下Bolt直接写入的情况,这种方案结构最简单,但所有worker节点都要配置为写入客户端可执行的环境(特别是权限),各个topology的写入无法合并处理。另外dfsClient写入加上缓存优化会比Put方式更易于控制及部署。

4)写入环节需要考虑的包括数据序列化格式、数据分区控制、性能优化(cache)、事务控制(正确性保证)等具体问题,框架性的通用写入模块还需要解决较多系统结构方面的问题,如Kryo序列化框架支持等等。

通用的Bolt直接写入hdfs框架更符合分层规范除了实现稍微麻烦一些外无明显问题但在某些特殊的项目中其他方案可能会有更好的表现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值