版权声明:本文为博主原创文章,转载时请注明出处链接。 https://blog.csdn.net/lk7688535/article/details/80353337
单机flume的搭建与启动
环境:
jdk1.8
ubuntu14
下载:
http://flume.apache.org/download.html
配置:
- 将tar.gz格式的安装包放在/usr/server/中
- 解压:tar -zxvf apache-flume-1.8.0-bin.tar
- 进入conf,cp flume-env.sh.template flume-env.sh
- 修改flume-env.sh:sudo vim flume-env.sh
加入一行 export JAVA_HOME=/usr/local/jdk8(此处也可以配置jvm堆内存分配大小)
a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动
./flume-ng agent --conf ../conf/ --conf-file ../conf/example.conf --name a1 -Dflume.root.logger=FO,console
或者
./flume-ng agent -c ../conf/ -f ../conf/example.conf -n a1 -Dflume.root.logger=FO,console
../conf/ 是配置文件的目录
../conf/example.conf 是启动要加载的配置文件
a1 是代理的名字,对应example.conf里的a1
- 另开一个终端,输入telnet localhost 44444,并输入内容,查看上个终端是否收到内容。
flume+kafka读取日志文件
flume+kafka+storm 海量日志分析架构已经成为企业较为成熟的架构体系,现在以sougouQ.sample日志文件为例,搭建flume+kafka,并读取该日志文件。
- 新建/usr/server/logdata。
- 修改conf/example.conf,主要修改source和sink,source用来读取日志文件,sink用来连接kafka
#新增内容:
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.topic = flumetest
a1.sinks.k1.brokerList = 10.0.8.174:9096,10.0.8.231:9096,10.0.8.34:9096
a1.sources.r1.type = spooldir
a1.sources.r1.spoolDir = /home/liang/server/datas/
#该文件需要用gbk编码,所以:
a1.sources.r1.inputCharset=GB18030
- 修改后启动zookeeper、kafka、以及flume,然后启动kafka consumer查看是否可以获取到日志文件的内容。