В этой главе приведен пример, объясняющий, как вы можете генерировать события и впоследствии регистрировать их в консоли. Для этого мы используем источник NetCat и приемник логгера .
Предпосылки
Для запуска примера, приведенного в этой главе, вам необходимо установить Flume .
Конфигурирование Flume
Мы должны настроить источник, канал и приемник, используя файл конфигурации в папке conf . Пример, приведенный в этой главе, использует источник NetCat, канал памяти и приемник логгера .
NetCat Source
При настройке источника NetCat мы должны указать порт при настройке источника. Теперь источник (источник NetCat) прослушивает данный порт и получает каждую строку, которую мы ввели в этот порт, как отдельное событие и передает его в приемник по указанному каналу.
При настройке этого источника вы должны указать следующие свойства:
-
каналы
-
Тип источника — netcat
-
bind — имя хоста или IP-адрес для привязки.
-
порт — номер порта, к которому мы хотим, чтобы источник прослушивал.
каналы
Тип источника — netcat
bind — имя хоста или IP-адрес для привязки.
порт — номер порта, к которому мы хотим, чтобы источник прослушивал.
канал
Мы используем канал памяти . Чтобы настроить канал памяти, необходимо указать значение для типа канала. Ниже приведен список свойств, которые необходимо указать при настройке канала памяти.
-
тип — содержит тип канала. В нашем примере типом является MemChannel .
-
Емкость — это максимальное количество событий, хранящихся в канале. Его значение по умолчанию — 100. (необязательно)
-
TransactionCapacity — это максимальное количество событий, которые канал принимает или отправляет. Его значение по умолчанию — 100. (необязательно).
тип — содержит тип канала. В нашем примере типом является MemChannel .
Емкость — это максимальное количество событий, хранящихся в канале. Его значение по умолчанию — 100. (необязательно)
TransactionCapacity — это максимальное количество событий, которые канал принимает или отправляет. Его значение по умолчанию — 100. (необязательно).
Logger Sink
Этот приемник регистрирует все события, переданные ему. Как правило, он используется для целей тестирования или отладки. Чтобы настроить этот приемник, вы должны предоставить следующую информацию.
-
канал
-
тип — регистратор
канал
тип — регистратор
Пример файла конфигурации
Ниже приведен пример файла конфигурации. Скопируйте этот контент и сохраните как netcat.conf в папке conf Flume.
# Naming the components on the current agent NetcatAgent.sources = Netcat NetcatAgent.channels = MemChannel NetcatAgent.sinks = LoggerSink # Describing/Configuring the source NetcatAgent.sources.Netcat.type = netcat NetcatAgent.sources.Netcat.bind = localhost NetcatAgent.sources.Netcat.port = 56565 # Describing/Configuring the sink NetcatAgent.sinks.LoggerSink.type = logger # Describing/Configuring the channel NetcatAgent.channels.MemChannel.type = memory NetcatAgent.channels.MemChannel.capacity = 1000 NetcatAgent.channels.MemChannel.transactionCapacity = 100 # Bind the source and sink to the channel NetcatAgent.sources.Netcat.channels = MemChannel NetcatAgent.sinks.LoggerSink.channel = MemChannel
выполнение
Просмотрите домашний каталог Flume и запустите приложение, как показано ниже.
$ cd $FLUME_HOME $ ./bin/flume-ng agent --conf $FLUME_CONF --conf-file $FLUME_CONF/netcat.conf --name NetcatAgent -Dflume.root.logger=INFO,console
Если все идет хорошо, источник начинает прослушивать данный порт. В данном случае это 56565 . Ниже приведен снимок окна командной строки источника NetCat, который запустился и прослушивает порт 56565.
Передача данных в источник
Чтобы передать данные в источник NetCat, вы должны открыть порт, указанный в файле конфигурации. Откройте отдельный терминал и подключитесь к источнику (56565) с помощью команды curl . После успешного подключения вы получите сообщение « подключено », как показано ниже.
$ curl telnet://localhost:56565 connected
Теперь вы можете вводить свои данные построчно (после каждой строки вы должны нажать Enter). Источник NetCat получает каждую строку как отдельное событие, и вы получите полученное сообщение « ОК ».
Всякий раз, когда вы закончите с передачей данных, вы можете выйти из консоли, нажав ( Ctrl & plus; C ). Ниже приведен снимок консоли, где мы подключились к источнику с помощью команды curl .
Каждая строка, введенная в вышеприведенной консоли, будет получена источником как отдельное событие. Поскольку мы использовали приемник Logger , эти события будут регистрироваться на консоли (исходной консоли) через указанный канал (в данном случае канал памяти).
На следующем снимке показана консоль NetCat, в которой регистрируются события.