欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Flume入门教程

程序员文章站 2022-06-14 23:30:35
...

1. 系统需求

Flume需要Java 1.6及以上(推荐1.7),对Agent监控目录的读写权限。

2. 下载软件包

到Flume官网上http://flume.apache.org/download.html下载软件包.


wget "http://www.apache.org/dist/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz"
tar -xzvf apache-flume-1.8.0-bin.tar.gz

下载完之后可以用进入文件目录下执行bin/flume-ng version查看是否安装成功

3. 修改配置文件

设置flume-env.sh配置文件
在$FLUME_HOME/conf 下复制改名flume-env.sh.template为flume-env.sh,修改conf/ flume-env.sh配置文件:
JAVA_HOME= /app/lib/jdk1.7.0_79

4.简单案例

案例:实现端口监听
接下来自定义一个采集方案测试Flume——vi netcat-logger.conf:
进入conf目录下创建一个 netcat-logger.conf文件

vi netcat-logger.conf

这里我们主要的是设置主机地址

#agent中各组件的名字
##表示agent中的source组件
a1.sources = r1
##表示的是下沉组件sink
a1.sinks = k1
##agent内部的数据传输通道channel,用于从source将数据传递到sink
a1.channels = c1
 
#描述和配置source组件:r1
##netcat用于监听一个端口的
a1.sources.r1.type = netcat
##配置的绑定地址,这个机器的hostname是slave11,所以下面也可以配置成slave1
a1.sources.r1.bind = slave1
##配置的绑定端口
a1.sources.r1.port = 44444
 
#描述和配置sink组件:k1
a1.sinks.k1.type = logger
 
##描述和配置channel组件,此处使用时内存缓存的方式
#下面表示的是缓存到内存中,如果是文件,可以使用file的那种类型
a1.channels.c1.type = memory
#表示用多大的空间
a1.channels.c1.capacity = 1000
#下面表示用事务的空间是多大
a1.channels.c1.transactionCapacity = 100
 
# 描述和配置source channel sink之间的连接关系,因为source和sink依赖channel来传递数据,所以要分别指定用的是哪个channel。
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

然后在$FLUME_HOME目录下执行

bin/flume-ng agent -c conf -f conf/netcat-logger.conf -n a1 -Dflume.root.logger=INFO,console

Flume入门教程
之后再打开一个终端实现telnet通信

4.1.telnet安装

首先查看telnet运行状态

netstat -a | grep telnet

输出为空,表示没有开启该服务
安装openbsd-inetd

apt-get install openbsd-inetd

如果已经安装过了,会提示已经安装过了,直接执行下面的步骤就可以了。
安装telnetd

apt-get install telnetd

安装完之后,查看/etc/inetd.conf的内容会多了一行telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

cat /etc/inetd.conf | grep telnet

输出: telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

查看telnet运行状态

netstat -a | grep telnet

输出:tcp  0  0 :telnet  :*  LISTEN
此时表明已经开启了telnet服务。

之后输入telnet slave1 44444 (slave1是主机名)
Flume入门教程
Flume入门教程

相关标签: 大数据