centos7 安装Flume教程

简单介绍一下Flume:
在这里插入图片描述
在这里插入图片描述

agent:flume运行的最小单元,独立运行在一个JVM中。一个agent里面包括一个或多个sources,channels,sinks

sourcechannels可以有一对多的关系
sinkchannel 是一对一的关系

client : 相当于数据产生的位置
source :从客户端产生数据的位置收集数据
channel:数据管道(缓存)用于接收source的数据然后将数据推送给sink
sink:接收channel推送的数据,并将其存储到外部的存储系统中
event:事件,一个event相当于一条数据,是一个不可分割的整体
interceptor:拦截器,作用于source和channel,channel和sink之间,将符合条件的数据进行过滤,或者对对数据进行标记,flume也支持拦截器链
selector:选择器,决定数据流向哪个channel,作用于source和channel之间,channel和sink之间,
flume提供的选择器有两种replicating(复制选择器),multiplexing(多路复用Channel选择器)
复制Channel选择器
如果Source没有指定Channel选择器,则该Source使用复制Channel选择器。该选择器复制每个事件到通过Source的Channels参数指定的所有Channel中。
多路复用Channel选择器
多路复用Channel选择器是一种专门用于动态路由事件的Channel选择器,通过选择事件应该写入到哪个Channel,基于一个特定的事件头的值进行路由。可以结合拦截器使用。

source类型

在这里插入图片描述

channel类型

在这里插入图片描述
File Channel:
优点:安全性高
缺点:速度慢
Memory Channel:
优点:速度快
缺点:容易缺失数据
Kafaka Channel:
优点:高速缓存

sink类型

在这里插入图片描述
关于Sink , Channel , Source 可以参考
https://blog.csdn.net/qq_41253208/article/details/91355053
接下来开始Flume的安装吧!

环境:两台安装centos7的虚拟机
master: 192.168.19.128
slave:192.168.19.129
flume版本: 1.9.0
链接:https://pan.baidu.com/s/1nPJIJBFuYj_27BN947gCPA
提取码:5dia

通过xshell操作

注意两台虚拟机之间最好把防火墙等关闭 参考:https://blog.csdn.net/qq_41253208/article/details/88093301

一、
下载flume压缩包,并通过xhell传到虚拟机Master
解压

tar -zxvf apache-flume-1.9.0-bin.tar.gz 

重命名

mv apache-flume-1.9.0-bin.tar/ flume

移动到存放软件的目录下(个人习惯/usr/local)

mv flume /usr/local/

配置环境变量

vi /etc/profile

添加以下信息

export PS1="[\u@`/sbin/ifconfig eth0|grep 'inet '|awk -F'[: ]+' '{print $4}'` \W]"'$ '  
export FLUME_HOME=/usr/local/flume
export PATH=$PATH:$FLUME_HOME/bin  

验证环境变量

source /etc/profil

新建日志文件

tuoch /usr/local/flume/exec-log_bak

进入flume下的conf目录

cd /usr/local/flume/conf

新建并编辑exec.conf

vim exec.conf

输入下面

 a3.sources=r3
 a3.sinks=k3
 a3.channels=c3

 a3.sources.r3.type=avro
 a3.sources.r3.channels=c3
 a3.sources.r3.bind=192.168.19.128 #注意是主节点的ip
 a3.sources.r3.port=4545

 a3.channels.c3.type=memory
 a3.channels.c3.capacity=100
 a3.channels.c3.transactionCapacity=100

 a3.sinks.k3.type=file_roll
 a3.sinks.k3.sink.directory=/usr/local/flume/exec-log_bak 
 a3.sinks.k3.channel=c3

切换到子节点
在子节点上解压flume,配置环境变量
新建并编辑配置文件

vim /usr/local/flume/exec.conf

输入以下

#example.conf: A single-node flume configuration
#It is Just for test flume exec Example
 
#Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
 
#配置source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /usr/local/flume/exec-log
a1.sources.r1.channels = c1
 
#Describe the sink
a1.sinks.k1.type = avro 
a1.sinks.k1.channel = c1
a1.sinks.k1.hostname=192.168.19.129
 a1.sinks.k1.port=4545

#use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 100
a1.channels.c1.transactionCapacity = 100

自此简单的flume已经配置好了

主节点启动命令

flume-ng agent -n a3 -c $FLUME_HOME/conf -f $FLUME_HOME/conf/exec.conf -Dflume.root.logger=INFO,console

子节点启动命令

flume-ng agent -n a1 -c $FLUME_HOME/conf -f $FLUME_HOME/conf/exec.conf -Dflume.root.logger=INFO,console

在这里插入图片描述
主节点启动成功后输出以下信息
在这里插入图片描述
slave节点启动成功后输出以下信息
c1 started
r1 started
k1 started
在这里插入图片描述
下面举个简单的例子来验证一下是否安装成功:
在xshell上另外再开一个master窗口:
修改配置文件

vim /usr/local/spark/conf/exec.conf

在r1下添加

a1.sources.r1.command = tail -F /usr/local/flume/exec-log

tail -F 是指当exec-log日志文件有更新变动时,将截取更新的部分
在xshell对slave再开一个窗口

for i in {200..250};do echo “insert number $i” >> $FLUME_HOME/exec-log;done

此时可以看到在master开启flume的界面有新输出

自此Flume的简单安装已经完成,关于flume的介绍后续会有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值