Flume入门教程
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
之后再打开一个终端实现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是主机名)
上一篇: 功耗降低50倍 不用进口光刻机 国产芯片要靠“碳”超车?
下一篇: 乡村旅游与现代农业如何完美融合?