我想从ibmq读取数据并将其放入hdfs。
查看flume的jms源代码,它似乎可以连接到ibmq,但我不明白“destinationtype”和“destinationname”在所需属性列表中的含义。有人能解释一下吗?
另外,我应该如何配置我的flume代理
flumeagent1(在与mq相同的计算机上运行)读取mq数据---- flumeagent2(在hadoop集群上运行)写入hdfs,或者hadoop集群上只有一个代理就足够了
有人能帮助我理解mqs如何与flume集成吗
参考
https://flume.apache.org/flumeuserguide.html
谢谢,查亚
1条答案
按热度按时间5ssjco0h1#
关于flume代理体系结构,它由负责接收或轮询事件并将事件转换为放入通道中的flume事件的源以其最简形式组成。然后,接收器接收这些事件以便将数据持久化到某个地方,或者将数据发送到另一个代理。所有这些组件(源、通道、接收器,即代理)都在同一台机器上运行。不同的代理可以被分发。
话虽如此,您的场景似乎需要基于jms源、通道(通常是内存通道)和hdfs接收器的单个代理。
如文档中所述,jms源代码仅针对activemq进行了测试,但应适用于任何其他队列系统。文档还提供了一个示例:
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
只能取两个值:queue
或者topic
. 我认为重要的参数是providerURL
以及initialContextFactory
以及connectionFactory
,它必须适用于ibm mq。