codecamp

Apache的配置水槽

安装水槽后,需要使用配置文件,该文件是具有键值对的Java属性文件来配置它。我们需要的值传递给该文件中的密钥。

在水槽的配置文件,我们需要 -

  • 名称当前代理的组件。
  • 描述/配置源。
  • 描述/配置下沉。
  • 描述/配置通道。
  • 绑定源和宿的频道。

通常我们可以在水槽多个代理。我们可以通过使用唯一的名称区分每个代理。并使用这个名字,我们必须配置每个代理。

命名组件

首先,你需要的名字/列出的组件,如源,汇和代理渠道,如下图所示。

agent_name.sources = source_name 
agent_name.sinks = sink_name 
agent_name.channels = channel_name 

水槽支持各种源,汇和渠道。它们列出在下面给出的表中。

来源通道水槽
  • Avro的来源
  • 节俭来源
  • Exec的来源
  • JMS来源
  • 后台打印目录源
  • Twitter的1%流水来源
  • 卡夫卡来源
  • NetCat的来源
  • 序列发生器源
  • 系统日志源
  • 系统日志TCP源
  • 多端口系统日志TCP源
  • 系统日志UDP源
  • HTTP源
  • 压力源
  • 传统来源
  • 节俭旧式源
  • 自定义源
  • 抄写源
  • 内存通道
  • JDBC通道
  • 卡夫卡通道
  • 文件通道
  • 溢漏内存通道
  • 伪交易频道
  • HDFS水槽
  • 蜂巢水槽
  • 记录仪水槽
  • Avro的水槽
  • 节俭水槽
  • IRC水槽
  • 文件卷水槽
  • 空水槽
  • HBaseSink
  • AsyncHBaseSink
  • MorphlineSolrSink
  • ElasticSearchSink
  • 风筝数据集水槽
  • 卡夫卡水槽

您可以使用其中任何一个。例如,如果你正在传输使用Twitter源通过一个内存通道到HDFS沉Twitter数据,并代理名称ID TwitterAgent,然后

TwitterAgent.sources = Twitter 
TwitterAgent.channels = MemChannel 
TwitterAgent.sinks = HDFS 

列出代理的组件后,必须通过它们的属性值,提供描述源(S),沉(s)和渠道(S)。

描述源

每个来源将有属性的单独列表。命名为“类型”的属性是共同的每个源,它是用来指定我们使用的源的类型。

随着属性“类型”,它是需要提供一个特别的源的所有要求的属性的值来对其进行配置,如下所示。

agent_name.sources. source_name.type = value 
agent_name.sources. source_name.property2 = value 
agent_name.sources. source_name.property3 = value 

例如,如果我们考虑到Twitter的来源 ,以下是属性,这是我们必须提供值来配置它。

TwitterAgent.sources.Twitter.type = Twitter (type name) 
TwitterAgent.sources.Twitter.consumerKey =  
TwitterAgent.sources.Twitter.consumerSecret = 
TwitterAgent.sources.Twitter.accessToken =   
TwitterAgent.sources.Twitter.accessTokenSecret = 

描述水槽

就像源,每个接收器将具有属性的单独列表。命名为“类型”的属性是共同的每片,并且它是用来指定我们正在使用的接收器的类型。随着属性“类型”,它是需要提供值到特定接收器的所有要求的特性,以对其进行配置,如下所示。

agent_name.sinks. sink_name.type = value 
agent_name.sinks. sink_name.property2 = value 
agent_name.sinks. sink_name.property3 = value

例如,如果我们考虑HDFS下沉 ,下面是属性,这是我们必须提供值来配置它。

TwitterAgent.sinks.HDFS.type = hdfs (type name)  
TwitterAgent.sinks.HDFS.hdfs.path = HDFS directory’s Path to store the data

描述这个频道

水槽提供了多种渠道源和汇之间传输数据。因此,与源和通道沿,它是需要来描述在代理所使用的信道。

为了描述每个通道,您需要设置所需的属性,如下图所示。

agent_name.channels.channel_name.type = value 
agent_name.channels.channel_name. property2 = value 
agent_name.channels.channel_name. property3 = value 

例如,如果我们考虑内存通道 ,下面是属性,这是我们必须提供值来配置它。

TwitterAgent.channels.MemChannel.type = memory (type name)

绑定源和宿到Channel

由于通道连接源和汇,它需要两者结合的信道,如下所示。

agent_name.sources.source_name.channels = channel_name 
agent_name.sinks.sink_name.channels = channel_name 

下面的示例演示如何绑定源和汇的渠道。在此,我们认为微型博客Twitter源,内存通道和 HDFS水槽

TwitterAgent.sources.Twitter.channels = MemChannel
TwitterAgent.sinks.HDFS.channels = MemChannel 

启动水槽代理

配置后,我们开始水槽代理。它完成如下 -

$ bin/flume-ng agent --conf ./conf/ -f conf/twitter.conf 
Dflume.root.logger=DEBUG,console -n TwitterAgent 

在这里 -

  • 代理 -命令启动水槽剂

  • --conf,-c <CONF> -在conf目录使用配置文件

  • -f <文件> -指定配置文件路径,如果失踪

  • --name,-n <名> - Twitter的代理的名称

  • -D属性=值 -设置Java系统属性值。


阿帕奇水槽环境
Apache的水槽抓取Twitter数据
温馨提示
下载编程狮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; }