水槽典型应用场景

  

1.水槽不同,水槽的配置文件编写

  

(1)来源——线轴

  

 监听是一个目录,这个目录不能有子目录,监控的是这个目录下的文件。采集完成,这个目录下的文件会加上后缀(.COMPLETED)
<强>配置文件:

  
 <代码> #名称的组件alt="水槽典型应用场景”> 
 从第一台机器的水槽代理传送到第二台机器的水槽代理。
例:
<强>规划:
hadoop02: tail-avro.properties
     使用tail - f/home/hadoop/testlog/welog.执行”日志”获取采集数据
     使用avro水槽数据都下一个代理
hadoop03: avro-hdfs.properties
     使用avro接收采集数据
     使用hdfs水槽数据到目的地
<强>配置文件

  
 <代码> # tail-avro.properties
  a1。=r1来源
  a1。水槽=k1
  a1。渠道=c?
  #描述/配置源
  a1.sources.r1。类型=执行
  a1.sources.r1.command=tail - f/home/hadoop/testlog/date.log
  a1.sources.r1。渠道=c?
  #描述沉
  a1.sinks.k1。类型=avro
  a1.sinks.k1。频道=c?
  a1.sinks.k1。主机名=hadoop02
  a1.sinks.k1。端口=4141
  a1.sinks.k1。批量大?2
  #使用一个通道在内存中缓冲事件
  a1.channels.c1。类型=内存
  a1.channels.c1。能力=1000
  a1.channels.c1。transactionCapacity=100
  #绑定源和汇的通道
  a1.sources.r1。渠道=c?
  a1.sinks.k1。通道c1= 
  
 <代码> # avro-hdfs.properties
  a1。=r1来源
  a1。水槽=k1
  a1。渠道=c?
  #描述/配置源
  a1.sources.r1。类型=avro
  a1.sources.r1。渠道=c?
  a1.sources.r1。绑定=0.0.0.0
  a1.sources.r1。端口=4141
  #描述k1
  a1.sinks.k1。类型=hdfs
  a1.sinks.k1.hdfs。路径=hdfs://myha01/testlog/flume-event/y % - % m - H % d/% % m
  a1.sinks.k1.hdfs。filePrefix=date_
  a1.sinks.k1.hdfs。maxOpenFiles=5000
  a1.sinks.k1.hdfs。batchSize=100
  a1.sinks.k1.hdfs。文件类型=DataStream数据
  a1.sinks.k1.hdfs。writeFormat=文本
  a1.sinks.k1.hdfs。rollSize=102400
  a1.sinks.k1.hdfs。rollCount=1000000
  a1.sinks.k1.hdfs。rollInterval=60
  
  a1.sinks.k1.hdfs。圆=true
  a1.sinks.k1.hdfs。roundValue=https://www.yisu.com/zixun/10
  a1.sinks.k1.hdfs。roundUnit=分钟
  a1.sinks.k1.hdfs。useLocalTimeStamp=true
  #使用一个通道在内存中缓冲事件
  a1.channels.c1。类型=内存
  a1.channels.c1。能力=1000
  a1.channels.c1。transactionCapacity=100
  #绑定源和汇的通道
  a1.sources.r1。渠道=c?
  a1.sinks.k1。通道c1= 
  

(2)多路复用采集

  

水槽典型应用场景”> <br/>  在一份代理中有多个通道和多个水槽,然后多个水槽输出到不同的文件或者文件系统中。<br/>规划:<br/> Hadoop02: (tail-hdfsandlogger.properties) <br/>      使用执行“tail - f/home/hadoop/testlog/datalog.log”获取采集数据<br/>      使用sink1将数据存储hdfs <br/>      使用sink2将数据都存储控制台</p>
  <p> <>强配置文件</强> </p>
  <pre> <代码> # tail-hdfsandlogger.properties
  # 2个通道和2个水槽的配置文件
  #名称的组件alt=
 首先在三个web服务器中收集数据,然后交给收集、此处的收集是高可用的,首先collect01是主,所有收集到的数据发送给他,collect02只是出于热备状态不接受数据,当collect01宕机的时候,collect02顶替,然后接受数据,最终将数据发送给hdfs或者卡夫卡。
<强>代理和collecotr的部署
水槽典型应用场景”> <br/>   Agent1, Agent2数据分别流入到Collector1和Collector2中,水槽NG本身提供了故障转移机制,可以自动切换和恢复。再由Collector1和Collector2将数据输出到hdfs中。<br/> <强>示意图</强> <br/> <img src=水槽典型应用场景