我们已经知道,Kafka适合用于对数据存储、吞吐量、实时性要求比较高的场景。而对于数据的来源和流向比较多的情况,则适合使用Flume,且Flume不提供数据存储功能而是侧重于数据采集与传输。在实际开发中,常常将Flume与Kafka结合使用,从而提高系统的性能,使开发起来更加方便。
数据流架构
根据前面的系统数据流设计,需要将Flume合并后的日志数据以副本的方式分成两路(两路数据相同):一路进行实时计算;另一路进行离线计算。将需要实时计算的数据发送到实时消息系统Kafka进行中转,将需要离线计算的数据存储到HBase分布式数据库中。
本节在前面的基础上继续进行完善,将centos03节点的Flume接收到的数据写入到Kafka中。整个过程的数据流架构如图
具体操作步骤如下。
配置centos03节点的Flume
Flume的Sink组件可以配置多个目的地,其中就包括Kafka,即可以将数据写入到Kafka的主题中。
在centos03节点中创建Flume配置文件flume-kafka.propertie