繁体   English   中英

使用水槽读取IBM MQ数据

[英]Using flume to read IBM MQ data

我想从IBM MQ读取数据并将其放入HDF。

研究了JMS的水槽源,似乎它可以连接到IBM MQ,但是我不了解“ destinationType”和“ destinationName”在必需属性列表中的含义。 有人可以解释一下吗?

另外,我应该如何配置我的水槽代理

flumeAgent1(在与MQ相同的机器上运行)读取MQ数据----flumeAgent2(在Hadoop集群上运行)写入Hdfs或在Hadoop集群上只有一个代理就足够了

有人可以帮助我了解如何将MQs与Flume集成

参考

https://flume.apache.org/FlumeUserGuide.html

谢谢Chhaya

关于Flume代理架构,它由负责接收或轮询事件并将事件转换为Flume事件并放入通道以其最小形式组成。 然后,接收接收这些事件,以便将数据保留在某处,或将数据发送到另一个代理。 所有这些组件(源,通道,接收器,即代理)都在同一台计算机上运行。 相反,可以分发不同的代理。

话虽如此,您的情况似乎需要基于JMS源 ,通道(通常是内存通道 )和HDFS接收器的单个代理。

如文档中所述,JMS源仅针对ActiveMQ进行了测试,但应为其他任何队列系统使用。 该文档还提供了一个示例:

a1.sources = r1
a1.channels = c1
a1.sources.r1.type = jms
a1.sources.r1.channels = c1
a1.sources.r1.initialContextFactory = org.apache.activemq.jndi.ActiveMQInitialContextFactory
a1.sources.r1.connectionFactory = GenericConnectionFactory
a1.sources.r1.providerURL = tcp://mqserver:61616
a1.sources.r1.destinationName = BUSINESS_DATA
a1.sources.r1.destinationType = QUEUE

a1是单个代理的名称。 c1是通道的名称,其配置必须仍然完成; 并且接收器配置完全丢失。 可以通过添加以下内容轻松完成:

a1.sinks = k1
a1.sinks.k1.type = hdfs
a1.sinks.k1.channel = c1
a1.sinks.k1.hdfs.path = ...
a1.sinks.k1...
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1...

r1是JMS源,可以看出, destinationName只是要求一个字符串名。 destinationType只能采用两个值: queuetopic 我认为重要的参数是providerURLinitialContextFactoryconnectionFactory ,必须针对IBM MQ进行调整。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM