1下载
flume.apache.org
2修改配置flume_home/conf/flume-env.sh
添加JAVA_HOME
3.启动flume
flume-ng agent -n a4 -C /home/sfapp/conf -f /home/sfapp/conf/a4.conf -Dflume.root.logger=INFO,console
-n 名字的意思
-C是a4配置文件在的目录
-f是配置文件
-Dflume.root.logger是日志打印级别
a4.conf
#定义agent名, source、channel、sink的名称
a4.sources = r1
a4.channels = c1
a4.sinks = k1
#具体定义source
a4.sources.r1.type = spooldir
a4.sources.r1.spoolDir = /home/sfapp/logs
#具体定义channel
a4.channels.c1.type = memory
a4.channels.c1.capacity = 10000
a4.channels.c1.transactionCapacity = 100
#定义拦截器,为消息添加时间戳
a4.sources.r1.interceptors = i1
a4.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder
#具体定义sink
a4.sinks.k1.type = hdfs
a4.sinks.k1.hdfs.path = hdfs://centos1:9000/flume/%Y%m%d
a4.sinks.k1.hdfs.filePrefix = events-
a4.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
a4.sinks.k1.hdfs.rollCount = 0
#HDFS上的文件达到128M时生成一个文件
a4.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个文件
a4.sinks.k1.hdfs.rollInterval = 60
#组装source、channel、sink
a4.sources.r1.channels = c1
a4.sinks.k1.channel = c1
故障
启动flume时如果找不到class,可以去HADOOP_HOME的lib目录下寻找,然后拷贝到FLUME_HOME/lib下
如果flume的sink是写入hdfs,而flume不认识hdfs目录,可以将hadoop的配置文件core-site.xml hdfs-site.xml 拷贝到FLUME_HOME/conf下