codecamp

Apache的水槽NetCat的来源

本章以一个例子来解释如何生成事件,随后他们登录到控制台。为此,我们使用的是NetCat的源和汇记录

先决条件

要运行本章中所提供的例子,你需要安装水槽

配置水槽

我们要配置源,信道,并采用在conf文件夹配置文件下沉。这一章中给出的示例使用NetCat的来源,内存通道和一个记录片

NetCat的来源

在配置NetCat的来源,我们必须在配置源指定端口。现在源(NetCat的源)监听给定的端口和接收我们在该端口输入为通过指定的信道的个人事件,并将其转移到接收器的每一行。

在配置此源,您必须提供值以下属性 -

  • 渠道

  • 源类型 - netcat的

  • 绑定 -主机名或IP地址进行绑定。

  • 端口 -端口号,这是我们希望的来源听。

渠道

我们所使用的内存通道。要配置内存通道,你必须提供一个值,该通道的类型。下面给出的是,你需要在配置内存通道提供的属性列表 -

  • 类型 -它拥有信道的类型。在我们的例子中,类型为MemChannel。

  • 容量 -它是存储在信道的事件的最大数量。它的默认值是100(可选)

  • TransactionCapacity -它是信道接收或发送事件的最大数量。它的默认值是100(可选)。

记录仪水槽

此片记录传递给它的所有事件。一般地,它是用于测试或调试目的。要配置此片,你必须提供以下详细信息。

  • 渠道

  • 类型 -记录仪

示例配置文件

给出下面是配置文件的一个例子。复制此内容,并保存在水槽的conf文件夹netcat.conf。

# 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

执行

通过浏览水槽主目录,如下图所示执行应用程序。

$ cd $FLUME_HOME
$ ./bin/flume-ng agent --conf $FLUME_CONF --conf-file $FLUME_CONF/netcat.conf 
   --name NetcatAgent -Dflume.root.logger=INFO,console

如果一切顺利,源开始听给定端口。在这种情况下,它是56565。下面给出的是一个已经开始,侦听的端口56565一NetCat的源的命令提示符窗口的快照。

执行

数据传递到源

将数据传递给NetCat的来源,你必须打开配置文件中指定的端口。打开一个单独的终端连接到使用curl命令源(56565)。当连接成功后,你会得到一个消息,“ 连接 ”,如下图所示。

$ curl telnet://localhost:56565 
connected 

现在,您可以在线输入你的数据线(每行之后,你必须按Enter键)。该NetCat的源接收的每一行作为一个单独的事件,你会得到一个收到的消息“OK”。

每当你与传球的数据完成的,可以按(;ç按Ctrl&加 )退出控制台。下面给出的是我们已连接到使用curl命令源控制台的快照。

传递数据

即在上述的控制台输入的每个线将接收由源的个人事件。由于我们使用的记录片,这些事件将通过指定通道(在这种情况下,内存通道)登录到控制台(来源控制台)。

以下快照显示了NetCat的控制台所在的事件。

NetCat的控制台
Apache的水槽序列发生器源
阿帕奇水槽教程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }