数仓复盘2

Flume
一、组成

1、source
taildir 多目录、断点续传 1.7以后,1.6及以前(自定义source)
tailidir source挂了怎么办? 因为支持断点续传所以重启即可,但是会导致数据重复的问题,那怎么办?再次修改源码,修改成事务;下级去重(hive、spark去重)
taildir 是否支持递归遍历读取文件? 不支持。可通过修改源码。
2、channel
file:可靠性高、效率低、基于磁盘 100万event
memory:可靠性差、效率高 基于内存 100event
kafka:可靠性高、效率高 要求下一级必须kafka
3、sink
hdfs sink 需要注意小文件问题
时间 1小时 or 128m event=0 文件名.lzo.tmp =>文件名.lzo
4、put/take 事务

二、三个器

拦截器:

  • etl => 简单的清洗 判断 json 完整性
  • 分类型 => 启动日志、事件日志
    实现Interceptor 接口(initialize,close,event,多event,builder) 打包上传flume/lib
    拦截器不用也可以,同样的功能可在下一级处理。如分类可调为在hive 的dwd层拆解开来。如 spark streaming 里拆分,拉勾里的推荐就是这样做。

选择器 replicating (默认)=>把数据发往所有通道 multiplexing =>选择性发往不同的通道
监控器 ganglia:监控到 put take 尝试提交次数 远远大于最终提交的次数,说明flume 性能有问题。flume不稳定,就需要优化。优化:选提高自己(增加内存flume_env.sh 4G-6G内存)、找兄弟(增加flume 台数)。

三、优化及挂了怎么办

优化:

  • hdfs sink 需要注意小文件问题
  • 优化:选提高自己(增加内存flume_env.sh 4G-6G内存)、找兄弟(增加flume 台数)
  • fileChannel 能多目录就多目录提高吞吐量
  • kafkaChannel 优化 比memory+kafka sink 快

flume 挂了怎么办?重启即可。

  • 可能数据丢失的情况:memory channel,100 events 会丢
  • 可能数据重复的情况:taildir source 会导致重复一条,通过 事务 解决;kafka channel 也可能重复一两条;
  • sink 是基于磁盘的,不会丢。
kafka 的20件事

一、基础
1、组成:生产者、消费者、broker、zk (zk存储哪些信息?只有生产者信息没有。broker id、消费者信息、分区信息、副本信息)
2、多少台:2 * (生产者峰值生产速率 * 副本数 / 100)+1 =3
3、压测 生产者峰值生产速率 一般会低于 50M/s
4、副本数通常会设置2-3个,2个居多(因为副本作用是提高可靠性,太多会带来磁盘io 太多,影响性能)
5、kafka 数据保存多久? 默认保存 7 天。生产环境调整到 3 天(因为kafka 数据每天我们都要读完,还有保存太久也没用,因为日志服务器的数据会保存30天,假如数据丢了,可以重新去读日志服务器数据。)
6、磁盘空间准备多大:留30%预量
每天的数据量(100G)* 副本(2)*3天 /0.7
7、做没做kafka监控 eagle、kafka manager、monitor、自己写的(技术实力强)
8、ISR解决的是 leader挂了,谁当老大的问题。怎样能进入ISR队列?看延迟时间和延迟条数(新版本只有延迟时间)
9、分区分配策略:

  • range(默认)容易产生数据倾斜,卡死。即没除开的话,会把数据放在低分区的场景。
  • -round robin 把所有任务随机打散,排序轮询

10、分区数的设置?
期望的吞吐量/ min(生产者峰值生产速率,消费者消费速率)
(1) 创建一个只有1个分区的topic
(2) 测试这个topic的producer吞吐量和consumer吞吐量
(3) 假设他们的值分别是Tp和Tc,单位可以是MB/s
(4) 然后假设总的目标吞吐量是Tt,那么分区数=Tt/min(Tp,Tc)

–next week todo
二、挂了
三、消息丢失
四、重复
五、积压
六、优化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值