Flume
mischen520
JAVA高级架构师
展开
-
Flume Agent内部原理
重要组件:1)ChannelSelectorChannelSelector的作用就是选出Event将要被发往哪个Channel。其共有两种类型,分别是Replicating(复制)和Multiplexing(多路复用)。ReplicatingSelector会将同一个Event发往所有的Channel,Multiplexing会根据相应的原则,将不同的Event发往不同的Channel。2)SinkProcessorSinkProcessor共有三种类型,分别是DefaultSink..原创 2021-07-03 10:01:47 · 95 阅读 · 0 评论 -
linux怎样模拟socket连接
安装netcat工具sudo yum install -y nc打开一个窗口,输入如下指令:上面的表示新启一个server端,用于接收数据再另起一个窗口,输入如下指令:这个表示直接连接客户端,端口号为6666,输入什么内容,server端就打印什么内容...原创 2021-07-03 09:35:50 · 726 阅读 · 0 评论 -
/var/run/yum.pid 已被锁定,PID 为 2984 的另一个程序正在运行。
今天在安装netcat工具的时候出现上面这个错误,安装netcat工具的命令为:sudo yum install -y nc报错截图为:解决办法为:rm -f /var/run/yum.pid然后重新输入sudo yum install -y nc命令即可原创 2021-07-03 08:33:19 · 161 阅读 · 0 评论 -
Flume的组成
Flume组成架构如下图所示。1.2.1 AgentAgent是一个JVM进程,它以事件的形式将数据从源头送至目的。Agent主要有3个部分组成,Source、Channel、Sink。1.2.2 SourceSource是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、taildir、sequence generator、syslo..原创 2021-07-03 08:03:45 · 1186 阅读 · 0 评论 -
(高频面试题)Flume采集数据会丢失吗?
根据Flume的架构原理,Flume是不可能丢失数据的,其内部有完善的事务机制,Source到Channel是事务性的,Channel到Sink是事务性的,因此这两个环节不会出现数据的丢失,唯一可能丢失数据的情况是Channel采用memoryChannel,agent宕机导致数据丢失,或者Channel存储数据已满,导致Source不再写入,未写入的数据丢失。Flume不会丢失数据,但是有可能造成数据的重复,例如数据已经成功由Sink发出,但是没有接收到响应,Sink会再次发送数据,此时可能会导致数据原创 2021-07-02 20:49:34 · 1702 阅读 · 1 评论 -
什么是Flume的事务机制?
Flume的事务机制(类似数据库的事务机制):Flume使用两个独立的事务分别负责从Soucrce到Channel,以及从Channel到Sink的事件传递。比如spooling directory source 为文件的每一行创建一个事件,一旦事务中所有的事件全部传递到Channel且提交成功,那么Soucrce就将该文件标记为完成。同理,事务以类似的方式处理从Channel到Sink的传递过程,如果因为某种原因使得事件无法记录,那么事务将会回滚。且所有的事件都会保持到Channel中,等待重新传递。.原创 2021-07-02 20:43:22 · 404 阅读 · 0 评论 -
Flume生产性能调优
1)Source增加Source个(使用Tair Dir Source时可增加FileGroups个数)可以增大Source的读取数据的能力。例如:当某一个目录产生的文件过多时需要将这个文件目录拆分成多个文件目录,同时配置好多个Source 以保证Source有足够的能力获取到新产生的数据。batchSize参数决定Source一次批量运输到Channel的event条数,适当调大这个参数可以提高Source搬运Event到Channel时的性能。2)Channeltype 选择memor.原创 2021-07-02 20:32:24 · 423 阅读 · 0 评论 -
Flume的Source,Sink,Channel的作用?
(1)Source组件是专门用来收集数据的,可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy(2)Channel组件对采集到的数据进行缓存,可以存放在Memory或File中。(3)Sink组件是用于把数据发送到目的地的组件,目的地包括Hdfs、Logger、avro、thrift、ipc、file、Hbase、solr、自定义。...原创 2021-07-02 20:27:16 · 2052 阅读 · 0 评论 -
什么是Flume?
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。原创 2021-07-02 08:25:10 · 190 阅读 · 0 评论