Flume使用
avro agent
配置文件
cd $FLUME_HOME/conf
vim avro.conf
a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.channels = c1
a1.sources.r1.bind = dev01
a1.sources.r1.port = 4411
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动agent
用以下脚本开启agent客户端,从以下信息中可以看到当前 agent 的 jmx 监控端口号是4154,且绑定4411端口。
flume-ng agent -c . -f /opt/bigdata/flume/conf/avro.conf -n a1 -Dflume.root.logger=INFO,console
Info: Sourcing environment configuration script /opt/bigdata/flume/conf/flume-env.sh
Info: Including Hadoop libraries found via (/opt/bigdata/hadoop/bin/hadoop) for HDFS access
Info: Including HBASE libraries found via (/opt/bigdata/hbase/bin/hbase) for HBASE access
Info: Including Hive libraries found via () for Hive access
+ exec /opt/soft/jdk1.8.0_144/bin/java -Xms100m -Xmx200m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=4154 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dflume.root.logger=INFO,console -cp '/opt/bigdata/flume/conf:/opt/bigdata/flume/lib/*:/opt/bigdata/hadoop/etc/hadoop:/opt/bigdata/hadoop/share/hadoop/common/lib/*:/opt/bigdata/hadoop/share/hadoop/common/*:/opt/bigdata/hadoop/share/hadoop/hdfs:/opt/bigdata/hadoop/share/hadoop/hdfs/lib/*:/opt/bigdata/hadoop/share/hadoop/hdfs/*:/opt/bigdata/hadoop/share/hadoop/yarn/lib/*:/opt/bigdata/hadoop/share/hadoop/yarn/*:/opt/bigdata/hadoop/share/hadoop/mapreduce/lib/*:/opt/bigdata/hadoop/share/hadoop/mapreduce/*:/opt/bigdat......
org.apache.flume.source.AvroSource.start(AvroSource.java:234)] Starting Avro source r1: { bindAddress: dev01, port: 4411 }...
2018-11-02 11:42:26,026 (lifecycleSupervisor-1-0) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.register(MonitoredCounterGroup.java:119)] Monitored counter group for type: SOURCE, name: r1: Successfully registered new MBean.
2018-11-02 11:42:26,026 (lifecycleSupervisor-1-0) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.start(MonitoredCounterGroup.java:95)] Component type: SOURCE, name: r1 started
2018-11-02 11:42:26,027 (lifecycleSupervisor-1-0) [INFO - org.apache.flume.source.AvroSource.start(AvroSource.java:259)] Avro source r1 started.
启动文本传输
新开一个终端进行以下动作。
创建一个文件
echo "hello world" > /home/dev/flume/log.00
开启文本传输
flume-ng avro-client --conf conf -H dev01 -p 4411 -F /home/dev/flume/log.00
可以从agent客户端看到文件的内容
2018-11-02 11:48:05,426 (New I/O server boss #9) [INFO - org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:171)] [id: 0xd39a83d1, /192.168.20.10:46114 => /192.168.20.10:4411] OPEN
2018-11-02 11:48:05,428 (New I/O worker #1) [INFO - org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:171)] [id: 0xd39a83d1, /192.168.20.10:46114 => /192.168.20.10:4411] BOUND: /192.168.20.10:4411
2018-11-02 11:48:05,428 (New I/O worker #1) [INFO - org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:171)] [id: 0xd39a83d1, /192.168.20.10:46114 => /192.168.20.10:4411] CONNECTED: /192.168.20.10:46114
2018-11-02 11:48:05,705 (New I/O worker #1) [INFO - org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:171)] [id: 0xd39a83d1, /192.168.20.10:46114 :> /192.168.20.10:4411] DISCONNECTED
2018-11-02 11:48:05,705 (New I/O worker #1) [INFO - org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:171)] [id: 0xd39a83d1, /192.168.20.10:46114 :> /192.168.20.10:4411] UNBOUND
2018-11-02 11:48:05,706 (New I/O worker #1) [INFO - org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:171)] [id: 0xd39a83d1, /192.168.20.10:46114 :> /192.168.20.10:4411] CLOSED
2018-11-02 11:48:05,706 (New I/O worker #1) [INFO - org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.channelClosed(NettyServer.java:209)] Connection to /192.168.20.10:46114 disconnected.
2018-11-02 11:48:07,804 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:95)] Event: { headers:{} body: 68 65 6C 6C 6F 20 77 6F 72 6C 64 hello world }
Flume使用的更多相关文章
- Flume1 初识Flume和虚拟机搭建Flume环境
前言: 工作中需要同步日志到hdfs,以前是找运维用rsync做同步,现在一般是用flume同步数据到hdfs.以前为了工作简单看个flume的一些东西,今天下午有时间自己利用虚拟机搭建了 ...
- Flume(4)实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式
一.概述: 在实际的生产环境中,一般都会遇到将web服务器比如tomcat.Apache等中产生的日志倒入到HDFS中供分析使用的需求.这里的配置方式就是实现上述需求. 二.配置文件: #agent1 ...
- Flume(3)source组件之NetcatSource使用介绍
一.概述: 本节首先提供一个基于netcat的source+channel(memory)+sink(logger)的数据传输过程.然后剖析一下NetcatSource中的代码执行逻辑. 二.flum ...
- Flume(2)组件概述与列表
上一节搭建了flume的简单运行环境,并提供了一个基于netcat的演示.这一节继续对flume的整个流程进行进一步的说明. 一.flume的基本架构图: 下面这个图基本说明了flume的作用,以及f ...
- Flume(1)使用入门
一.概述: Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统. 当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X ...
- 大数据平台架构(flume+kafka+hbase+ELK+storm+redis+mysql)
上次实现了flume+kafka+hbase+ELK:http://www.cnblogs.com/super-d2/p/5486739.html 这次我们可以加上storm: storm-0.9.5 ...
- flume+kafka+spark streaming整合
1.安装好flume2.安装好kafka3.安装好spark4.流程说明: 日志文件->flume->kafka->spark streaming flume输入:文件 flume输 ...
- flume使用示例
flume的特点: flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受 ...
- Hadoop学习笔记—19.Flume框架学习
START:Flume是Cloudera提供的一个高可用的.高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地.这里的日志是一个统称,泛指文件.操作记录等许多数据. ...
- Flume NG Getting Started(Flume NG 新手入门指南)
Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...
随机推荐
- dgv数据绑定后,添加行遇到过的问题并解决
1. 当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行 解决方法:((DataTable)Dgv.DataSource).Rows.Add("", ...
- vi/vim 编辑、搜索、查找、定位
介绍vi/vim 相关命令,主要涉及:编辑.搜索.查找.定位. 分为两个章节,即常用命令 及 键盘图 一.vi/vim常用命令 set nu 显示行号 gg 跳转到文件开头 / 向后搜索 ? 向前搜 ...
- 原型相关的知识点-new的实现原理
let obj = {}let fn = function(){ this.content = 'zhangsan'} let fn2 = new fn() fn2是fn实例化出来的一个对象,要了解n ...
- 关于MVC与MVP的理解
1. MVC的理解误区 理解误区: 1. 认为Model是指失血模型的实体类(Entity),是作为View和Controller之间的传输数据. 2. 把业务逻辑全部放在Controller端,认为 ...
- pyqt5 中的addStretch
一直对addStretch感觉怪怪的,直到看见了下面这段话: addStretch()函数用于在控件按钮间增加伸缩量, 伸缩量的比例为1:1:1:6,意思就是将控件以外的空白地方按设定的比例等分为9份 ...
- mysql_jdbc连接说明
mysql JDBC Driver 常用的有两个,一个是gjt(Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类名)为:org.gjt.mm.mysq ...
- 3.Shell 接收用户的参数
1.Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,Linux系统中的Shell脚本语言已经内设了用于接收参数的变量,变量之间可以使用空格间隔. 例如$0对应的是当前Shel ...
- Tomcat控制台日志输出到本地文件
记事本打开startup.bat文件,修改如下内容 “call “%EXECUTABLE%” start %CMD_LINE_ARGS%” 改为 call "%EXECUTABLE%&quo ...
- 热门前沿知识相关面试问题-android插件化面试问题讲解
插件化由来: 65536/64K[技术层面上]随着代码越来越大,业务逻辑越来繁杂,所以很容易达到一个65536的天花板,其65536指的是整个项目中的方法总数如果达到这个数量时则不无法创建新的方法了, ...
- 7.2 jmu-Java-06异常-02-使用异常机制处理异常输入 (5分)
7.2 jmu-Java-06异常-02-使用异常机制处理异常输入 (5分) 使用异常处理输入机制,让程序变得更健壮. main方法: 输入n,创建大小为n的int数组. 输入n个整数,放入数组. ...