Как выбрать, какой источник потока нужно обрабатывать в Storm?

Я борюсь с одной вещью в Storm. Итак, вся идея такова:

  1. Отправить запрос в шторм (вероятно, на DRPC Server). Запрос сообщит Storm, что является источником потоков. Например: Представьте, что у меня есть два файла 1 - '/var/log/syslog' и 2- ' /var/log/udev'. Я хочу иметь возможность отправить запрос в «Шторм», чтобы сообщить ему, какой файл обрабатывать.

Что я не понимаю:

Когда я сказал отправить запрос в "Шторм", - Куда мне его отправить? (Я предполагаю, что сервер DRPC контролирует, какой источник должен быть отправлен в топологию. Но как реализовать сервер DRPC? Есть ли какой-то класс, например DRPCServer server = new DRPCServer()? И как сказать Spout смотреть на DRPCServer? Или запрос должен быть отправлен напрямую к Spout?если так, как заставить его начать использовать указанный источник?Я имею в виду, нужно ли мне отправить запрос на метод open()?


person Vor    schedule 16.04.2013    source источник


Ответы (1)


Не DRPCServer, это DRPCClient

DRPCClient client = new DRPCClient("drpc-host", 3772);

Я думаю, вам будет очень интересно, увидев это

ОБНОВЛЕНИЕ: Для получения дополнительной информации вы всегда можете проверить проект storm-starter на github от nathanmarz и особенно BasicDRPCTopology и ReachTopology

person abhi    schedule 18.04.2013
comment
Я просмотрел эту документацию, но так и не понял: что такое сервер DRPC????? это DRPCSpout? пример, который вы привели, это то, как вы будете подключаться к Nimbus? - person Vor; 18.04.2013
comment
Сервер DRPC ни в чем, кроме нимба в режиме drpc. Для запуска сервера DRPC вы можете использовать ./bin/storm drpc на узле nimbus. - person abhi; 18.04.2013
comment
OMG Большое спасибо, вы просто открыли мне глаза! - person Vor; 18.04.2013