首页 > 代码库 > flume简易实现入门
flume简易实现入门
1、下载
http://www.apache.org/dist/flume/stable/
下载最新的tar.gz包即可
2、解压
tar -zxvf ....
3、配置环境变量
FLUME_HOME和PATH
记得执行source /etc/profile
4、添加一个简单的测试案例
a、在conf目录下新建一个文件,test-conf.propertis,内容如下:
# define the alias(sources->channels->sinks)
a1.sources = s1
a1.sinks = k1
a1.channels = c1
#describe the source
a1.sources.s1.type = avro
a1.sources.s1.bind = hadoop #agent所在的hostname
a1.sources.s1.port = 44444
#describe the sink
#将数据输出到日志
a1.sinks.k1.type = logger
#describe the channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
#Bind the source and sink to the channel
a1.sources.s1.channels = c1
a1.sinks.k1.channel = c1 #此处是channel不是channels
b、在conf目录下新建一个源文件file01并向其中写入数据:
$ touch file01;
$ echo "hello world" > file01
c、启动agent代理
$ flume-ng agent -n a1 -f test-conf.properties
启动结果如下:
。。。。。。。。。。。。。
若出现异常NoClassFoundException org.apache.flume.tools.GetJavaProperty...可以不用管。
d、启动avro-client客户端向agent代理发送数据
打开一个新的终端:
$ flume-ng avro-client -H hadoop -p 44444 -F file01
e、可看到agent代理端输出:
................
avro-client客户端发来的数据已经被agent代理接收到,在本例中的配置中,设置的sink类型为logger,其输出结果会保存在日志中。关于flume-ng的介绍及详细使用说明见