任务要求:Avro source发送一个给定的文件给Flume,Avro源使用AVRO RPC机制。
实现步骤:
(1)创建agent配置文件。
1)执行如下shell命令,在conf目录下创建一个avro.conf空文件。
1.cd/usr/local/flume
2.sudo vim./conf/avro.conf #在conf目录下编辑一个avro.conf空文件
2)在avro.conf写入以下内容。
其中,上面Avro Source参数说明如下:
Avro Source的别名是avro,也可以使用完整类别名称org.apache.flume.source.AvroSource,因此,上面有一行设置是a1.sources.r1.type=avro,表示数据源的类型是avro。
bind绑定的ip地址或主机名,使用0.0.0.0表示绑定机器所有的接口。a1.sources.r1.bind=0.0.0.0,就表示绑定机器所有的接口。
port表示绑定的端口。a1.sources.r1.port=4141,表示绑定的端口是4141。
a1.sinks.k1.type=logger,表示sinks的类型是logger。
(2)启动flume agent a1。
执行如下所示shell命令,启动flume agent a1。(www.xing528.com)
/usr/local/flume/bin/flume-ng agent-c.-f/usr/local/flume/conf/avro.conf-n a1-Dflume.root.logger=INFO,console #启动日志控制台
这里,我们把下面窗口称为agent窗口。如图7-7所示。
图7-7 agent窗口
(3)创建指定文件。
打开另外一个终端,执行下列命令,进入/usr/local/flume目录,并在该目录下写入一个文件log.00,内容为hello,world。
1.cd/usr/local/flume
2.sudo sh-c'echo"hello world">/usr/local/flume/log.00'
(4)测试。
再打开另外一个终端,执行如下命令,输出log.00内容。
1.cd/usr/local/flume
2.bin/flume-ng avro-client--conf conf-H localhost-p 4141-F/usr/
local/flume/log.00 #4141是avro.conf文件里的端口名
此时,我们可以看到第一个终端(agent窗口)下的显示,也就是在日志控制台,就会把log.00文件的内容打印出来。如图7-8所示,则说明avro source执行成功。
图7-8 agent窗口
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。