【Flume】(一)Flume 高可用的、高可靠的(1)

架构:

Flume 组成架构如图所示
在这里插入图片描述
运行机制:

Flume 的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,Flume 在删除自己缓存的数据。

核心的角色是 Agent, Agent 本身是一个 Java 进程, 一般运行在日志收集节点。 Flume 采集系统就是由一个个 Agent 所连接起来形成。

agent有三个组件:

  • Source:采集源,用于跟数据源对接,以获取数据。source输入端常见的类型有:spooling directory、exec、syslog、avro、netcat等。
  • Channel: Agent 内部的数据传输通道,是位于Source和Sink之间的缓冲区。
  • Sink:下沉地,采集数据的传送目的地,用于往下一级 agent 传递数据或者往最终存储系统传递数据。sink组件常见的目的地包括:HDFS、Kafka、logger、File等。

二、安装 Flume

下载安装包
下载地址:http://flume.apache.org/download.html

解压并配置

# 1、上传软件包

# 2、解压
tar -zxvf flume-ng-1.6.0-cdh5.14.2.tar.gz

mv apache-flume-1.6.0-cdh5.14.2-bin soft/flume160 # 移动到我集群 /opt/soft/下

# 3、修改conf/flume-env.sh 
 ## 将配置jdk环境变量的注释放开,并修改滑稽变量
 ## 删除 docs目录, docs 保存了这个版本的官方文档 , 可以通过浏览器查看, 但是在虚拟机中无法查看,在分布式配置分发时会影响分发效率(图1 )
rm -rf docs/
注意:JAVA_OPTS 配置  如果我们传输文件过大 报内存溢出时 需要修改这个配置项
 
cp flume-env.sh.template flume-env.sh
vi flume-env.sh
#配置java路径
JAVA_HOME=/opt/soft/jdk180
 
# 4、验证安装是否成功
./flume-ng version

#安装netcat
yum -y install nmap-ncat

在这里插入图片描述

三、简单案例实现(单节点实现)

注意: 现在版本已经更新到1.9 ,而本人使用的是1.6的版本, 配置方式早已相差甚远
因此可以通过在Windows下打开该软件包中的docs/ 目录下的index.html查看相应版本的教程

官网教程配置

博主这里在 /opt/soft/ 路径下新建了 flumeconf 文件夹

在这里插入图片描述
配置一个properties , 内容如下:

#组件别名
a1.sources=r1  #//数据来源,可以多个,中间用空格分隔
a1.sinks=k1  #//传输管道,一般只有一个,可以多个
a1.channels=c1 #//数据沉淀,可以多个,中间用空格分隔

#使用监控
a1.sources.r1.type=netcat  #//数据来源类型是输入
#指定IP
a1.sources.r1.bind=localhost  
# 指定端口号
a1.sources.r1.port=44444  

a1.sinks.k1.type=logger

#管道描述
a1.channels.c1.type=memory    #//传输管道的参数,类型是内存传输
#capacity:默认该通道中最大的可以存储的 event 数量
a1.channels.c1.capacity=1000 
# t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值