设为首页 收藏本站
查看: 1665|回复: 0

[经验分享] 日志抽取框架 flume 简介与安装配置

[复制链接]

尚未签到

发表于 2019-1-30 09:32:00 | 显示全部楼层 |阅读模式


  • 一:flume 简介与功能
  • 二:flume 安装与配置与简单测试


一:flume 的简介与功能架构

1.1 flume 的简介:

1.1.1 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
1.1.2当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。
1.2 flume 的功能:

  1.2.1 flume 是一个分布式的,可靠的,可用的,非常有效率的对大数据量的日志数据进行收集,聚集,移动信息的服务。flume 仅支持在linux上面运行.
1.2.2 flume 是一个基于流式数据,非常简单(就写一个配置文件就可以),灵活的架构,一个健壮的,容错的,简单的扩展数据模型用于在线上实时应用分析, 他的表现为:写一个source,channel,sink 之后一条命令就能够操作成功了。
1.2.3 flume , kafka 实时进行数据收集,spark , storm 实时去处理,impala 实时去查询。
1.3 flume 结构图 :
DSC0000.png


1.4 flume 的结构图解释:

flume-ng 只有一个角色的节点:agent 的角色,agent 有source,channel, sink 组成。
DSC0001.png


1. Event 是flume数据传输的基本单元
2. flume 以事件的形式将数据从源头传送到最终的目的
3. Event 由可选的header 和加载有数据的一个byte array 构成
3.1 载有的数据对flume 是不透明的
3.2 header 是容纳凌key-value字符串对的无序集合,key 在集合内饰唯一的。
3.3 header 可以在上下文路由中使用扩展
1.5 Channel/Event/Sink 图:
DSC0002.png


source 监控某个文件,将数据拿到,封装在一个event当中,并put/commit 到chennel 当中,chennel 是一个队列,队列的有点事先进先出,放好后尾部一个个 event 出来,sink 主动去从chennel 当中去拉数据,sink 在把数据写到某个地方,比如hdfs 上去。
二: flume 的安装与配置

2.1 flume 的安装:

下载flume的cdh 版本:flume-ng-1.5.0-cdh5.3.6.tar.gz
安装flume-ng:
tar -zxvf flume-ng-1.5.0-cdh5.3.6.tar.gz
mv apache-flume-1.5.0-cdh5.3.6-bin yangyang/flume
2.2 生成配置文件:

cd yangyang/flume/conf
cp -p flume-env.sh.template flume-env.sh
cp -p flume-conf.properties.template flume-conf.properties
更改 flume-env.sh 增加java 的环境
export JAVA_HOME=/home/hadoop/yangyang/jdk
DSC0003.png


2.3 安装 telnet 的包:

yum install -y telnet-*
rpm -ivh netcat-1.10-891.2.x86_64.rpm
2.4 创建test-conf.properties 文件处理

cd /home/hadoop/yangyang/flume/
cp -p flume-conf.properties test-conf.properties
echo "" > test-conf.properties 清空文件
vim test-conf.properties

# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
运行一个agent 处理

cd /home/hadoop/yangyang/flume
bin/flume-ng agent --conf conf --conf-file conf/test-conf.properties --name a1 -Dflume.root.logger=INFO,console
DSC0004.png
DSC0005.png


telnet 登陆处理:

telnet localhost 44444

DSC0006.png
DSC0007.png





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-669446-1-1.html 上篇帖子: flume源码学习9 下篇帖子: Flume - 快速入门
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表