Flume中agent是干什么的,有什么作用

2020-06-05 11:23发布

4条回答
慢半拍
2021-12-14 16:21

Flume将数据表示为事件,事件是非常简单的数据结构,具有一个主体和一个报头集合,事件的主体是一个字节数组,通常是是Flume传送过来的负载,抱头被标记为一个map,其中有字符串key和字符串value。报头并不是用来传输数据的,只是为了路由和标记事件的优先级。报头也可以用来给事件增加ID或者UUID。

每个事件本质上必须是一个独立的记录,而不是记录的一部分,这也就要求每个事件要适应Flume Agent JVM的内存。而如果使用File Channel,应该有足够的硬盘空间来支持,如果数据不能表示为多个记录,那么Flume可能不太适合这种场景。

Flume真正适合做的是实时推送事件,尤其是在数据流是持续的且量级很大的情况,否则没必要采用Flume增加系统的复杂度。

Flume中最简单的部署单元是Flume Agent,Agent是一个Java应用程序,接受并生产数据并缓存数据,直至最终写入到其他Agent中或者是存储系统中。


一周热门 更多>