Flume数据采集项目常见问题——(一)

目录

1 HDFS无法看到当天日志如何解决(二分法去找错误)

2 日志文件数据采集到kafka为什么选择kafkachannel?

3 Maxwell的原理?

4 Maxwell如何实现断点续传?


1 HDFS无法看到当天日志如何解决(二分法去找错误)

Flume数据采集项目常见问题——(一)_第1张图片

(1)首先查看各个组件启动情况,确认组件已经正常启动。同时确保模拟生成的日志数据文件正常生成。

(2)其次查看Kafka相关Topic中是否有数据,如果有数据,进行步骤3;没有数据,进行步骤4。

(3)Kafka中有数据,说明上游数据通道已经通畅,此时着重检查下游负责Kafka-HDFS的flume运行日志,判断其是否正常工作。

(4)如果Kafka中没有数据,说明上游已经出现故障。此时应着重检查将文本文件传输到Kafka的Flume是否正常工作。当排除了Flume故障以后,再次重复步骤2。

2 日志文件数据采集到kafka为什么选择kafkachannel?

(1) 大致的流程就是,日志数据采集用到flume,采集到数据放到kafka。

按照正常的flume的Agent三组件,source ,channel ,sink。(三个组件都有不同的类型供选择)

Flume数据采集项目常见问题——(一)_第2张图片

而对于channel组件来说,既然要传输到kafka之中,也正好channel有这个于kafka有关的类型。

(2)Kafka channel的好处

Kafka channel可以只结合taildir source就能将数据写入kafka,节省sink数据传输环节;

Kafka本身的高效读写也能让kafka channel的性能变得更好。

3 Maxwell的原理?

 Maxwell监控MySQL的数据,把自己伪装成为MySQL的slave,实时的监控Mysql的binlog日志(mysql的二进制日志,用于保存mysql数据库的所有的数据变更记录。主要作用:主从复制和数据恢复,Maxwell工作原理和主从复制密切相关),并将数据转化成为json,发送给kafka等一些流数据处理平台。

主从复制:建立一个和主数据库完全一样的数据库环境,这个数据库称为从数据库。

应用场景:1 做数据库的热备:主数据库服务器故障后,可切换到从数据库继续工作。

                   2读写分离:主数据库只负责业务数据的写入操作,而多个从数据库只负责业务数据的查询工作,在读多写少场景下,可以提高数据库工作效率。

4 Maxwell如何实现断点续传?

Mysql维护了一个元数据库,在原数据库中有一个position表,在这里记录了监控的binlog位置。

你可能感兴趣的:(flume,kafka,大数据)