Flume 简介
-
官网: http://flume.apache.org/
-
Flume 可视为数据的搬运工,一般用来收集日志,将日志数据从A->B
优势
官网对Flume的介绍如下:
Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.
直白点呢,可以分为以下几点:
- 分布式、可依赖、可靠地服务
- 可以有效地收集、聚合、移动大量的日志数据
- 基于流数据走向的简单且灵活的架构(Hadoop还有Scala 这些官网都特别喜欢用easy\simple蒙骗我们这些萌新)
- 可容错的
- 故障转移和恢复机制
- 简单的可扩展数据模型,允许在线分析应用程序
对比
除了Flume 之外还有很多其他的日志抽取工具,比如:ELK(ES、Logstash、Kibana)、Beats,DataX(阿里)、Chukwa(2016不更新了)、MySql binlog、OGG、fluentd。
版本
-
我目前试用的是cdh5.16.2版本
-
文件后缀有ng,ng: new 版本
< – > og: 旧版本
源码
- https://github.com/cloudera/
- https://github.com/cloudera/flume-ng
- github.com/apache/flume
可用 mvn clean package -DskipTests 编译
Flume 安装
jdk安装和配置
https://blog.csdn.net/MaggieCN0622/article/details/119992302?spm=1001.2014.3001.5502
下载Flume 安装包
-
apache 版本 http://archive.apache.org/dist/flume/
-
flume-ng-1.6.0-cdh5.16.2.tar 【失效请私信我】
https://pan.baidu.com/s/1g5WZXPZ2whkkCiXxnerdug jxri
解压
tar -xzvf flume-ng-1.6.0-cdh5.16.2.tar -C ../app
软连接目录
cd ../app
ln -s flume-ng-1.6.0-cdh5.16.2 flume
配置环境变量
cd ## 回到根目录
###更改.bashrc
vim .bashrc
export FLUME_HOME=/home/hadoop/app/flume
export PATH=$FLUME_HOME/bin:$PATH
esc : wq 保存
#####生效
source .bashrc
配置文件(配置JAVA_HOME)
cd $FLUME_HOME/conf
cp flume-env.sh.template flume-env.sh
vim flume-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_181 ## 跟你的JAVA_HOME 位置一样,如果不知道的,可以which java 看一下
lib
- Flume使用时就是编写配置文件,工作中要经常二次开发,开发之后打的jar包都是丢在lib目录下的