Flume该演示是不是说。你可以自己搜索。

但现在的互联网主要是Flume 1.4前版本号的信息。Flume 1.5在轰动的大变化。假设你准备尝试,我在这里给大家介绍一下程序最小化结构,和使用MongoSink的数据被存储mongodb。完全独立的执行,没有master。没有collector(说白了collector也就是一个agent,仅仅是数据来源于多个其它agent),仅仅有一个agent。把这套东西理解了你就能够自由发挥了

Flume是必需要求java执行环境的哈,jdk安装就不解释了。推荐yum安装。

另外安装JDK好以后不用设置什么环境变量,flume事实上能够自己找到的,仅仅是会发出一个警告而已。无视之

首先去下载Flume 1.5安装包

http://flume.apache.org/download.html

仅仅须要下载apache-flume-1.5.0.1-bin.tar.gz就能够了,32位64位系统通吃

这里我们把安装包放到/home文件夹下,然后解压缩

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

把解压得到的apache-flume-1.5.0-bin目录改名成flume,所以我们flume的路径是/home/flume

网上非常多说要设置flume home环境变量,事实上不用的

这里我们新增一个配置文件到/home/flume/conf/netcat.conf(当中的agent2/source2/sink2/channel2都是自定义的名称。随便改)

# 定义组件名称
agent2.sources = source2
agent2.sinks = sink2
agent2.channels = channel2 # 定义数据入口
agent2.sources.source2.type = netcat
agent2.sources.source2.bind = 192.168.6.198
agent2.sources.source2.port = 44444
agent2.sources.source2.channels = channel2 # 定义数据出口
agent2.sinks.sink2.type = org.riderzen.flume.sink.MongoSink
agent2.sinks.sink2.host = 192.168.6.222
agent2.sinks.sink2.port = 27017
agent2.sinks.sink2.model = single
agent2.sinks.sink2.collection = events
agent2.sinks.sink2.batch = 100
agent2.sinks.sink2.channel = channel2 # 使用内存管道
agent2.channels.channel2.type = memory
agent2.channels.channel2.capacity = 1000
agent2.channels.channel2.transactionCapacity = 100

以上配置文件相信大家一看就非常明了了。我简介一下:

数据源是source2。而source2的定义是接收本机192.168.6.198:44444port发过来的数据,然后存放到channel2缓冲管道里面去

channel2是什么呢?看最以下对channel2的定义,它是一个内存缓冲队列。容量是1000条数据,满100条就会被sink处理掉

那么sink的定义呢?这里我们用到了Leon Lee(李龙?可能是国内哪位大神。感谢你哈)编写的一个MongoSink,作用是把从channel2取出的数据存入MongoDB,而且累计100条数据才提交

MongoSink请到这里下载:https://github.com/leonlee/flume-ng-mongodb-sink

MongoSink我简单说一下,仅仅须要把他打成jar包丢到/home/flume/lib里面即可了,当然别忘了把mongodb驱动也丢进去。以后你要是开发其它扩展包都是丢到lib里面就好

好。那么我们就清楚了,flume的作用就是从source获取数据,存入channel缓冲队列。最后由sink放入永久存储

执行下面命令启动flume

/home/flume/bin/flume-ng agent --conf /home/flume/conf --conf-file /home/flume/conf/netcat.conf --name agent2 -Dflume.monitoring.type=http -Dflume.monitoring.port=34545

大致解释一下:

--name agent2                指定当前执行的这个agent的名称

--conf /home/flume/conf        这个參数最好指定绝对路径,说明你的配置文件存放文件夹,不单单指agent的配置。当中还有log4j的配置。不然无法记录日志

--conf-file /home/flume/conf/netcat.conf         这个是指当前要执行的agent所使用的配置文件

-Dflume.monitoring.type=http          指定开启HTTP监控,能够通过浏览器直接訪问本机HTTP地址查看flume执行状态

-Dflume.monitoring.port=34545            指定HTTP监控的端口

假设你须要在控制台显示一些调试信息的话请自行配置/home/flume/conf/log4j.properties

OK,等着成功吧

现眼下我们主要是攻克了日志数据不必直接写mongo库,仅仅要把IP和port告知其它项目团队,他们直接往这里发送数据即可了

后期考虑到mongodb可能有些局限性,我们能够很灵活的改写sink,把数据存款hdfs,然后,和高大的hadoop与拉亲密接触

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Flume 1.5日志收集和存款mongodb安装结构的更多相关文章

  1. 【转】flume+kafka+zookeeper 日志收集平台的搭建

    from:https://my.oschina.net/jastme/blog/600573 flume+kafka+zookeeper 日志收集平台的搭建 收藏 jastme 发表于 10个月前 阅 ...

  2. 基于Flume的美团日志收集系统(二)改进和优化

    在<基于Flume的美团日志收集系统(一)架构和设计>中,我们详述了基于Flume的美团日志收集系统的架构设计,以及为什么做这样的设计.在本节中,我们将会讲述在实际部署和使用过程中遇到的问 ...

  3. 基于Flume的美团日志收集系统(一)架构和设计

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

  4. 基于Flume的美团日志收集系统(一)架构和设计【转】

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

  5. 转:基于Flume的美团日志收集系统(一)架构和设计

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

  6. 基于Flume的美团日志收集系统 架构和设计 改进和优化

    3种解决办法 https://tech.meituan.com/mt-log-system-arch.html 基于Flume的美团日志收集系统(一)架构和设计 - https://tech.meit ...

  7. Flume -- 开源分布式日志收集系统

    Flume是Cloudera提供的一个高可用的.高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地.这里的日志是一个统称,泛指文件.操作记录等许多数据. 一.Flum ...

  8. Flume + HDFS + Hive日志收集系统

    最近一段时间,负责公司的产品日志埋点与收集工作,搭建了基于Flume+HDFS+Hive日志搜集系统. 一.日志搜集系统架构: 简单画了一下日志搜集系统的架构图,可以看出,flume承担了agent与 ...

  9. flume集群日志收集

    一.Flume简介 Flume是一个分布式的.高可用的海量日志收集.聚合和传输日志收集系统,支持在日志系统中定制各类数据发送方(如:Kafka,HDFS等),便于收集数据.其核心为agent,agen ...

随机推荐

  1. 从java main方法说开去(转)

    刚刚接触java语言时,接触的便为一个java main方法.我们知道这样程序就可以运行了,但是程序是怎么运行起来的我们却不知道. 众所周知,当执行一个java程序时,首先会启动一个JVM虚拟机进程, ...

  2. cocos2d-x游戏开发系列教程-超级玛丽02-代码结构

    代码下载链接 http://download.csdn.net/detail/yincheng01/6864893 解压密码:c.itcast.cn 前景回顾 上一篇博文提到超级马里奥的游戏效果,大家 ...

  3. 关于Cocos2d-x 3.0正式版 粒子问题在IOS上正常显示,在Android下有问题的解决方式

    前几个在Cocos2d-x论坛上,有人提到粒子系统的问题..这里列举一下解决的方法: 或许到时候大家用粒子效果的时候也会发现这个问题,如今把这个问题的解决办法说出来.至于原因我也不知道是引擎的问题还是 ...

  4. Sql 参数的使用

    代码片段: a)声明实例 1.声明SQLCommand实例. SqlCommand cmd = new SqlCommand(); 2.声明SqlDataAdapter实例. SqlDataAdapt ...

  5. vs2016 创建 vsto excel 文件项目的一个问题

    新工作需要些一个基于Excel开发一个工具,vs的 vsto 功能很好用,封装了基于开发office 开的一些工具.但是在实际使用时,创建项目总是报错,提示打开excel文件失败.项目是需要创建一个e ...

  6. 在CentOS下源码安装 Xen并搭建Windows虚拟机

    前言 首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档.另外,还要感谢——互联网. 1.       环境介绍 Linux: CentOS 6.3 Xen: Xe ...

  7. 利用git下载skia库

    1.准备好cygwin或者gitbash(github下载) 2.进入进入https://android.googlesource.com/,搜索skia,进入. 3.进入后最上面会显示下载方法:gi ...

  8. android事件传递机制以及onInterceptTouchEvent()和onTouchEvent()详解二之小秘与领导的故事

    总结的不是很好,自己也有点看不懂,正好现在用到了,研究了一个,再次总结,方便大家查看 总则: 1.onInterceptTouchEvent中有个Intercept,这是什么意思呢?她叫拦截,你大概知 ...

  9. js注册检测 用户名、密码、手机号、邮箱

    请输入电话号码:<input name="" type="text" id="telphone" value="" ...

  10. [置顶] oracle存储过程中单引号及字符串拼接处理

    在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义.单引号的使用是就近配对,即就近原则.而在单引号充当转义角色时相对不好理解 1.从第二个单引号开始被视为转义符,如果第二个单引号后 ...