hadoop - 为什么 Flume 需要有 AMQP 源?

标签 hadoop rabbitmq messaging flume apache-kafka

Flume 有几个第三方插件来支持 AMQP 源。 为什么我们要将消息发送到 rabbitmq 或 qpid 然后再发送到 flume 而不是直接发送到 flume ? 我错过了什么吗?

此外,在什么情况下我应该使用像 Qpid、rabbitMQ 这样的消息队列以及什么时候像 Flume 这样的东西? 我阅读了 Qpid , RabbitMQ 保证订购交付,这对我来说并不重要。 还有其他区别吗?

我们可以向正在运行的水槽代理动态添加 channel 和接收器吗?使用文件滚动接收器向源添加新 channel ,它不需要任何代码更改,只需更改 conf 文件并重新启动。有没有办法动态地做到这一点,即无需重新启动水槽代理

最佳答案

这基本上取决于您的用例。正如您所提到的,在您的用例中,有序交付并不重要,那么 Flume 可能会适合。由于此功能,Flume 实际上更快,并且它具有更便宜的容错设置。 Check this link了解更多详情。

此外,Flume 非常适合处理 Hadoop 环境(HDFS 作为接收器),因为它实际上是从 Hadoop 环境演变而来的。出于同样的原因,您还会看到用例,其中 RabbitMQ(作为源)消息正在通过 Flume 推送。

关于hadoop - 为什么 Flume 需要有 AMQP 源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18188505/

相关文章:

apache-spark - 在 V4 s3 存储桶上使用 s3a 协议(protocol)时出现错误请求

java - 我应该多久实例化一次 JMS 主题连接和 session

tcp - 轻量级应用程序级别确认

django - Django中的私有(private)消息传递

hadoop - Hadoop 中映射器的输入

hadoop - HIVE 中的外部表 - 从原始数据集中转义双引号

oracle - CTE(与表为)在Hive中等效于SQL Server?

Redis 发布/订阅 vs Rabbit MQ

java - RabbitMQ (Java) 多消费者性能问题

java - Spring异步MessageListener用例发生业务异常时如何让RabbitMQ重试