1 Flum的应用场景?
线上数据存储在磁盘或通过socket传输给另外一个系统,很难推动线上应用和服务去修改接口,向kafka里面写数据,Flume是主要用来线上数据的传输。
2 Flum丢包问题
单机upd的flume source配置,100M/s数据量,10w qps flume就开始大量丢包,因此,很多公司在搭建自己的系统时,直接抛弃了flume,自己研发传输系统,但也会参考source-channel-sink.
一些公司在Flume工作过程中,会对业务日志进行监控,如果数据丢失在1%左右是没有问题的,当数据丢失在5%就会出现问题。
Flume:Flume是管道流方式,提供了很多默认实现,让用户通过参数部署,及扩展API
KafKa:Kafka是一个可持久化的分布式消息队列
Kafka是一个通用的系统,它允许多个生产者和多个消费者共享多个主题,相比之下Flum是一种专用的工具,被用来往HDFS,HBase发送数据。它对HDFS有特殊的优化,并且集成了Hadoop的安全性。如果数据被多个系统消费,使用Kafka,如果数据设计给Hadoop使用,则使用Flume。
Flume可以使用拦截器处理数据。这些对数据屏蔽或过量是很有用的。Kafka需要外部的流处理才能做到。
Kafka和flume是高可靠系统,可以通过配置实现数据的0丢失。但是flume不支持副本,一但某个Flume agent节点挂掉之后,即使使用了高可靠的管道传输,这些数据也会丢失,直到你恢复你的磁盘。如果需要可靠的管道传输,可以使用kafka.
4、数据怎么采集到Kafka,实现方式?
使