flume 架构规划





基于源头的数据大小、数据采集的目的地规划Flume拓扑架构
具备缓冲数据峰值的能力
规划满足处理瞬时故障所需的容量

====
Flume  单层架构



1. 架构简单
2. 配置管理复杂, 维护难度大
3. HDFS频繁写, 小文件多, HDFS压力大
4. 安全性差
5 flume 升级比较麻烦




=====Flume   分层架构== 








1. 安全性
 汇聚层的Agent(Collector1与Collector2、
Collector3与Collector4)做负载均衡、高可用
2. HDFS小文件
 汇聚层汇聚第一层多个Agent的event。
3. 扩展性、可用性
4. 升级维护
 HDFS升级维护等, 只需要维护汇聚层的Agent

=========================  规划-规划每层节点数量=====

经验法则:
  每4-16台agent做一层聚合Agent
  根据每个聚合Agent的数据摄取能力。
  理论上:最大的agent数量基于将网络带宽跑满。
  最外层agent比可高达100:1
  内层大幅减少agent数量
  需要考虑Load Balancing、Failover
 

 
案例: 从100台Web Server 收集日志
1. 第一层:按照1:16规划agent数量, 不考虑load
 balancing和failover。
  第一层的agent数量: 100/16 =7.
2. 中间层:按照1:4规划agent数量, 不考虑load
 balancing和failover。
  第二层的agent数量:7/4 =2.
合计:两层, 9个Agent。


规划每层节点数量






规划- Sink Batch Size
基于前面的拓扑, 以Agent1为例:
考虑到稳定性, agent1能处理的最大event数量为1600个。
 Agent1
        1. 在一个周期内, 每台web server发送了100个event。
        2. Agent1的接收的event数量:16*100=1600个,Agent1的出口event数量
        3. 如果web Server的event变大, agent1的 出口event数量增加到2500个, 那么这个时候使用mutilple sinks。
   Collector1
          1. 从上游4个Agent接收数据, 每批次数据量: 4 * 1600 = 6400个。
           2. 将 6400个分成3个sink, 每个sink的batch size为2150.
sink的batch size越大, 数据重复的风险就越大, 因为Flume只能保证每个event被推送到至少一个sink。


规划-Channel Capacity
Channel容量规划
     根据故障处理要求规划,下游故障, 导致channel驻留大量的event
    Channel选择
        - Memory: 传输速度快, 可靠性差
        - File: 数据持久化到磁盘, 数据不会丢失。重启断点续传。
    -     Kafka Channel: 传输速度快,安全可靠。

 File Channel Capacity规划
          假设能够容忍的下游故障处理时间为1个小时。
          1个agent的传输event速率为100个/秒。
          1个小时的event数为: 1*60*60*100 = 360000
             File的磁盘容量需要满足360000个event的存储, 从安全性考虑, 设计File的磁盘容量
            为360000*1.5=540000个event的容量。
 
Kafka Channel的规划
      假设能够容忍的下游故障处理时间为1个小时
       Kafka的segment配置保留时间大于1个小时。 从安全性考虑,适当增大。
       Kafka的segment配置保留字节大小大于540000个event的容量。


规划-硬件
    CPU核心数:(Source数量 + Sink数量)/ 2
    如果使用Memory Channel, 尽量配置比较大的内存
    如果使用File Channel, 磁盘越多, 吞吐量越大


参考引用文章链接: 


https://tech.meituan.com/mt-log-system-arch.html
https://tech.meituan.com/mt-log-system-optimization.html
http://shiyanjun.cn/archives/1497.html















  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值