步骤:
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进行写出,官网具有详细的配置方案。