安装Flume
Flume官方下载地址:
http://flume.apache.org/download.html
1. 安装jdk,1.6版本以上
建议将软件配置到统一的目录,如在/home/software目录下(注意,software默认不存在,需手动创建)
这里选择的是jdk1.8.tar.gz压缩软件,解压之后即可使用。
2. 上传flume的安装包
Flume的安装包同样建议放在/home/software目录下,便于查找、安装。
3. 解压安装
tar -zxvf apache-flume-1.9.0-bin.tar.gz
4. 配置JDK和Flume的系统环境变量。
配置如下:
export JAVA_HOME=/home/software/jdk1.8.0_131
export FLUME_HOME=/home/software/apache-flume-1.9.0-bin
export PATH=$JAVA_HOME/bin:$FLUME_HOME/bin:$PATH
使环境变量生效。
source /etc/profile
入门案例
5. 在Flume的conf目录下,创建一个配置文件
配置文件的名称可以自定义
例如:netcat-logger.conf
名字可以不固定,后缀也可以不固定,命名规则建议使用source-sink的方式。
6. 打开netcat-logger.conf文件,写配置agent组件:
#配置Agent a1 的组件
a1.sources=r1
a1.channels=c1 (可以配置多个,以空格隔开,名字自己定)
a1.sinks=s1 (可以配置多个,以空格隔开,名字自己定)
#描述/配置a1的r1
a1.sources.r1.type=netcat (netcat表示通过指定端口来访问)
a1.sources.r1.bind=0.0.0.0 (表示本机)
a1.sources.r1.port=4444 (指定的端口,此端口不固定,但是不要起冲突)
#描述a1的s1
a1.sinks.s1.type=logger (表示数据汇聚点的类型是logger日志)
#描述a1的c1
a1.channels.c1.type=memory
# 测试的话下面两条可以不进行配置。
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100 (transaction意为交易,意思是说到多少的时候进行输出,transacitonCapacity表示提交数据的大小)
#为channel 绑定 source和sink,注意这里的sources的channel是复数的。
a1.sources.r1.channels=c1 (一个source是可以对应多个通道的)
a1.sinks.s1.channel=c1 (一个sink,只能对应一个通道)
7. 写完之后保存退出,可以到Flume的bin目录下启动Flume。(当配置了环境变量之后其实可以不必到该目录下运行,但学习期间建议到此目录下来熟悉Flume的启动文件。)
./flume-ng agent -n a1 -c ../conf -f ../conf/netcat-logger.conf -Dflume.root.logger=INFO,console
如出现下图则表示启动成功,注意此时Flume处于监听状态。
8. 另外开启一个终端,通过nc的方式来访问:
netcat软件默认并没有安装到客户端中。需要通过yum install nc -y 命令来进行安装。(如果安装失败,把nc换成nmap-ncat.x86_64)
出现下图则表示安装成功
安装完成之后,我们在终端中输入命令:
nc localhost 4444 (注意,此处的端口号,一定要和配置文件中的端口匹配)
nc启动成功之后,处于监听状态,等待用户输入,可直接输入Hello Flume
9. 在Flume客户端会收到Hello Flume的信息。(第一次传输可能有点慢)
10启动Flume的命令各项解释:(长选项和短选项的含义是一样的)
agent:运行一个Flume Agent
--conf,-c <conf>:指定配置文件放在什么目录
--conf-file,-f <file>:指定配置文件,这个配置文件必须在全局选项的--conf参数定义的目录下
--name,-n <name>:Agent的名称,注意:要和配置文件里的名字一致。
-Dproperty=value:设置一个JAVA系统属性值。常见的:-Dflume.root.logger=INFO,console
文档结束,如有错误,欢迎指导。