flume的案列测试之收集socket端数据,并显示到logger端

步骤:

1.在Linux下安装netcat工具,用户开启socket客户端:

  a.切换至root下

    $>su root

  b.执行安装命令

    $>yum install -y nc

  c.切换至Alex_lei用户下,模拟聊天室:

    $>nc

    开启服务端 $>nc -l 55555

    开启客户端 $>nc localhost 55555

2.创建Agent

  编写agent配置信息,在{FLUME_HOME/conf}目录下,新建example.conf,添加以下代码:

  a1.sources = s1

  a1.channels = c1
  a1.sinks = k1

  #定义agent的source属性
  a1.sources.s1.type = netcat
  a1.sources.s1.bind = master
  a1.sources.s1.port = 55555

  #配置agent的sink属性
  a1.sinks.k1.type = logger

  #配置agent的channel的属性
  a1.channels.c1.type = memory

  a1.sources.s1.channels = c1
  a1.sinks.k1.channel = c1 //注意:a1.sinks.k1.channel后不用有s

3.开启flume进程

$>flume-ng agent --name a1 --conf /home/Alex_lei/soft/flume/conf/ --conf-file /home/hyxy/soft/flume/conf/example.conf -Dflume.root.logger=INFO,consol

4.开启nc客户端

  $>nc master 55555

  hello world

  zhang san

5.结果

  在flume的会话窗口中,显示以下信息:
  Event: { headers:{} body: 68 65 6C 6C 6F 20 77 6F 72 6C 64 hello world }
  Event: { headers:{} body: 7A 68 61 6E 67 20 73 61 6E zhang san }

 

总结:agent包含三个组件为Source,Channel,Sink,分别代表的意思是数据源,中间管道,起到桥梁的作用,写到什么地方。上述Source为Console,Channel默认为memory内存,Sink为logger。

  若我们要写到hdfs或者hive,我们可以去flume的官网查看相关配置文件的信息,根据自己的需要选择,选择hdfs,我们就去Flume sink下zhaodao hdfs选项查看相关的配置信息进行配置就可以。 

  当然还可以将多个flume串联进行配置,也可以多个flume并联最后输入到一个flume的agent进行写出,官网具有详细的配置方案。 

相关文章