flume是如何分布的?

p4rjhz4m  于 2021-06-04  发布在  Flume
关注(0)|答案(2)|浏览(301)

我正在使用flume将大量数据摄取到hdfs中(大约PB的数据)。我想知道flume是如何利用其分布式体系结构的?我有超过200台服务器,我在其中一台服务器上安装了flume,我可以从中获取数据(aka data source),接收器是hdfs(hadoop正在这些服务器上运行serengeti)。我不确定flume是否在集群上分布,或者安装不正确。我遵循了apache的flume安装用户指南和so的这篇文章。
如何安装和配置apacheflume?
http://flume.apache.org/flumeuserguide.html#setup
我是一个新手Flume,并试图了解更多关于它…任何帮助将不胜感激。谢谢!!

rdlzhqv9

rdlzhqv91#

在最新版本中,apacheflume不再遵循主从结构。它在Flume1.x之后被弃用。
不再有主控,也不再有zookeeper依赖关系。flume现在运行一个简单的基于文件的配置系统。
如果我们想扩展它,我们需要在多个物理节点上安装它并运行我们自己的拓扑结构。就单个节点而言。假设我们连接到每秒提供2000个xml事件的jms服务器,我需要两个fulme代理来获取数据,我有两个分布式选项:
两个flume代理启动并运行,以获取同一物理节点中的jms数据。
两个flume代理启动并运行,以获取两个物理节点中的jms数据。

kx5bkwkv

kx5bkwkv2#

我将不讨论cloudera的具体建议,而是讨论apacheflume本身。
不管你决定怎么分发,它都会被分发。决定自己的拓扑结构并实现它。
你应该把Flume看作一个耐用的管子。它有一个源(可以从数字中选择)、一个通道(可以从数字中选择)和一个接收器(同样,可以从数字中选择)。在一个代理中使用avro接收器连接到另一个代理中的avro源是非常典型的。
假设您正在安装flume来收集apachewebserver日志。常见的架构是在每台apachewebserver机器上安装flume。您可能会使用假脱机目录源来获取apache日志,使用syslog源来获取syslog。您可以使用内存通道来提高速度,以免影响服务器(以持久性为代价),并使用avro接收器。
avro接收器将通过Flume负载平衡连接到2个或更多收集器。收集器将是avro源、文件通道和任何你想要的(elasticsearch?、hdfs?)作为你的接收器。您甚至可以添加另一层代理来处理最终输出。

相关问题