2015-05-07 2 views
1

Я хочу читать данные из IBM MQ и помещать их в HDF.Использование лотка для чтения данных IBM MQ

Посмотрел на источник JMS, возможно, он подключается к IBM MQ, но я не понимаю, что означает «destinationType» и «destinationName» в списке необходимых свойств. Может кто-нибудь объяснить?

Кроме того, как я должен быть настройка моих водоводные агентов

flumeAgent1 (работает на машине же, как MQ) считывает данные MQ ----  flumeAgent2 (Работает на Hadoop кластера) пишет в HDFS или только один агент достаточно на Hadoop кластера

может кто-то мне помочь в понимании того, как MQS может быть интегрирована с лотком

Ссылка

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

Спасибо, Chhaya

ответ

0

Что касается архитектуры агента Flume, состоит в минималистской форме по источнику отвечает за получение или опроса для событий, и преобразования в событие Flume, которые ставятся в a канал. Затем, sink принимает эти события, чтобы сохранить данные где-то, или отправить данные другому агенту. Все эти компоненты (источник, канал, приемник, т. Е. Агент) работают на одном компьютере. Вместо этого могут быть распределены различные агенты.

Считается, что для вашего сценария требуется отдельный агент на основе JMS source, канала, обычно Memory Channel и HDFS sink.

Источник JMS, как указано в документации, был протестирован только для ActiveMQ, но shoukd работает для любой другой системы queue. Документация также дает пример:

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 может принимать только два значения: queue или topic. Я думаю, что важными параметрами являются providerURL и initialContextFactory и connectionFactory, которые должны быть адаптированы для IBM MQ.

+0

Спасибо !!! для подробного ответа..Что я понял, мне нужен только один ломовой агент, вероятно, на оконечном узле Hadoop, не нужно иметь flume agent на сервере MQ. Исправить меня, если я ошибаюсь –

+0

Да, только один агент в краю Hadoop. – frb