flume

Flume使用详解(一)

北城以北 提交于 2020-02-21 06:56:41
概述: Flume最早是Cloudera提供的日志收集系统,后贡献给Apache。所以目前是Apache下的项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。 Flume是一个高可用的,高可靠的鲁棒性(robust 健壮性),分布式的海量日志采集、聚合和传输的系统, Flume支持在日志系统中定制各类数据发送方,用于收集数据(source);同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力(sink)。 当前Flume有两个版本Flume 0.9X版本的统称Flume-og,老版本的flume需要引入zookeeper集群管理,性能 也较低(单线程工作)。老版本的flume对于zookeeper依赖过高,此外也会对Zookeeper造成一定 的负载压力。 Flume1.X版本的统称Flume-ng。新版本需要引入zookeerper。 由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。 基本概念: 基本架构图: flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方去,比如说送到图中的HDFS,简单来说flume就是收集日志的。 event事件 flume的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功

org.apache.flume.FlumeException: NettyAvroRpcClient { host: xxx.xxx.xxx.xxx, port: 41100 }: RPC

允我心安 提交于 2020-02-18 22:23:55
2014-12-19 01:05:42,141 (lifecycleSupervisor-1-1) [WARN - org.apache.flume.sink.AbstractRpcSink.start(AbstractRpcSink.java:294)] Unable to create Rpc client using hostname: xxx.xxx.xxx.xxx, port: 41100 org.apache.flume.FlumeException: NettyAvroRpcClient { host: 121.41.49.51, port: 41100 }: RPC connection error 如果在flume中sinks使用avro来推送数据时,出现这个问题。 那么要看一下Server上有没有监听,如果没有监听,则客户端的RPC当然连接SEVER时会报错啦! 文章发自: http://www.cnblogs.com/hark0623/p/4175050.html 转发请注明 来源: https://www.cnblogs.com/hark0623/p/4175050.html

Flume怎么操作

▼魔方 西西 提交于 2020-02-17 22:43:12
先来个小简例 我们将本地文件的内容用flume搞到HDFS上面去。 直接上配置文件吧 # example . conf : A single - node Flume configuration # Name the components on this agent a1 . sources = r1 a1 . sinks = k1 a1 . channels = c1 # 我们Source定义了从本地文件secure末尾读取数据 # Describe / configure the source a1 . sources . r1 . type = exec a1 . sources . r1 . command = tail - F / root / secure #这个Sink定义将数据送到hdfs # Describe the sink a1 . sinks . k1 . type = hdfs a1 . sinks . k1 . hdfs . path = hdfs : / / 114.116 .206 .19 : 5009 / flumehdfs / data a1 . sinks . hdfssink . filePrefix = alert - a1 . sinks . hdfssink . hdfs . useLocalTimeStamp = true a1 .

Flume安装部署 for Mac or Linux

拈花ヽ惹草 提交于 2020-02-17 15:06:06
最近学习到Flume,记录一下部署过程,以便后续使用 Flume官网 http://flume.apache.org/ 我所使用的版本是 flume-ng-1.6.0-cdh5.15.1 CDH版下载地址为 http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.6.0-cdh5.15.1.tar.gz 1)前置条件 Java运行时环境-Java 1.7或更高版本 JDK安装可以参考这篇 内存-足够的内存,用于sources,channels或sinks使用的配置 磁盘空间-足够的磁盘空间用于channels或sinks使用的配置 目录权限-使用的目录的读/写权限 注意:具体的flume版本可能需要的JDK版本会不一样,有的需要JDK1.8以上,请根据自己的情况选择 2)解压 解压到指定文件夹 tar -zxvf flume-ng-1.6.0-cdh5.15.1.tar.gz -C ~/programming/ 3)配置环境变量 编辑~/.bash_profile 文件 vi ~/.bash_profile 在文件中添加 export FLUME_HOME=/Users/zhaohaichao/programming/apache-flume-1.6.0-cdh5.15.1-bin export PATH=$FLUME_HOME/bin:

网站日志流量分析系统之数据清洗处理(离线分析)

妖精的绣舞 提交于 2020-02-17 05:58:21
一、概述    网站日志流量分析系统之(日志埋点) 这里我们已经将相关数据通过ajax发送至日志服务器,这里我只用了一台日志服务器(本机Windows环境),日志收集主要分为以下几个步骤:   ①日志服务器集结合logback,并自定义日志过滤器,将日志发给对应FlumeAgent客户端   ②FlumeAgent客户端根据接收器策略分发至中心服务器   ③中心服务器将数据分别落地至HDFS及Kafka(这里先做 离线分析 ,中心服务器落地HDFS;实时分析中心服务器的Flume策略暂时不加,后续实时分析时加上) 二、服务器规划 三、日志收集实现 ①日志服务器结合logback,并自定义日志过滤器,将日志发送至FlumeAgent客户端   继续编写日志服务器代码(代码已经上传Github: https://github.com/Simple-Coder/log-demo ),增加logback.xml配置如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration> <configuration> <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyy

Flume 与Kafka区别

主宰稳场 提交于 2020-02-14 22:26:54
   今天开会讨论日志处理为什么要同时使用Flume和Kafka,是否可以只用Kafka 不使用Flume?当时想到的就只用Flume的接口多,不管是输入接口(socket 和 文件)以及输出接口(Kafka/HDFS/HBase等)。    考虑单一应用场景,从简化系统的角度考虑,在满足应用需求的情况下可能只使用一个比较好。但是考虑到现有系统业务发展,为了后面的灵活扩展,在系统设计时留有一定的扩展性感觉更重要。可能使用Flume+kafka架构相对只使用Kafka会多占用1-2台机器做Flume日志采集,但是为了方便以后日志数据处理方式的扩展,可以采用Flume+kafka架构。   Flume :管道 ----个人认为比较适合有多个生产者场景,或者有写入Hbase、HDFS和kafka需求的场景。   Kafka :消息队列-----由于Kafka是Pull模式,因此适合有多个消费者的场景。   目前应用场景,一台日志转发机负责产生日志。后端需要通过Strom消费日志信息,建议可以设置成log-->Kafka->Strom.如果以后有写入Hbase或者HDFS的需求可以,在Kafka后面再接上Strom,或者在日志转发机上直接日志落地,由Flume去读取日志消息。 参考: Kafka与Flume区别 Kafka与Flume对比 基于Flume的美团日志收集系统 Using

(10)Kafka与Flume集成

心已入冬 提交于 2020-02-13 17:53:47
  Kafka生产的数据是由Flume的Sink提供的,通过Flume将Agent的日志收集分发到 Kafka。   本篇用到了前面几篇随笔的知识,请做参考:   (1) 安装zookeeper集群   (2) kafka单机多Broker(伪分布式)的基本配置   (3) java程序连接kafka示例   (4) Flume安装及其启动     1、准备工作   (1)启动zookeeper集群。分别在192.168.7.151、192.168.7.152、192.168.7.153在执行以下命令: [root@localhost ~]# zkServer.sh start   (2)启动192.168.7.151上面的kafka。执行以下命令 [root@localhost kafka_2.9.2-0.8.1.1]# bin/kafka-server-start.sh config/server.properties & [root@localhost kafka_2.9.2-0.8.1.1]# bin/kafka-server-start.sh config/server1.properties &   (3)启动kafka的消费者端,如下,输出的数据是之前的    2、创建flume连接kafka的配置文件 [root@localhost myagent]# vim

(01)Flume简介

╄→гoц情女王★ 提交于 2020-02-13 12:41:46
  1、Flume简单介绍   Apache Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。   2、Flume体系结构   工作流程:   (1)外部数据源(web server)将Flume可识别的Event发送到Source;   (2)Source收到Event后存储到一个或多个Channel中;   (3)Channel保留Event直到Sink将其处理完毕;   (4)Sink从Channel中取出数据,并将其传输至外部存储(HDFS)   组件说明:   (1)Event:Flume处理数据元,可能是一条日志,一个Avro对象等,通常约4kb大小   (2)Agent:Flume运行实体,每台机器一份,可能包括多个Source或者Sink   (3)Client:产生Event,在单独线程中运行   (4)Source:接收Event,并送入Channel,在单独线程中运行并监控   (5)Sink:从Channel接收Event,可能进行下一步转发(如连与另外某Source通讯),在单独线程中运行并监控 来源: https://www.cnblogs.com/javasl/p

Flume基础学习

孤街醉人 提交于 2020-02-13 10:20:32
Flume是一款非常优秀的日志采集工具。支持多种形式的日志采集,作为apache的顶级开源项目,Flume再大数据方面具有广泛的应用 首先需要在Flume的解压目录中conf文件夹中将flume-env.sh.templete更改未flume.env.sh 并修改jdk的位置 Source 我们可以从Avro,NetCat。Http,TailDir。我们在Java开发中通常都是使用的log4j等日志工具进行日志按天存储,所以我们重点关注下tailDir Source Taildir Source 在Flume1.7之前如果想要监控一个文件新增的内容,我们一般采用的source 为 exec tail,但是这会有一个弊端,就是当你的服务器宕机重启后,此时数据读取还是从头开始,这显然不是我们想看到的! 在Flume1.7 没有出来之前我们一般的解决思路为:当读取一条记录后,就把当前的记录的行号记录到一个文件中,宕机重启时,我们可以先从文件中获取到最后一次读取文件的行数,然后继续监控读取下去。保证数据不丢失、不重复。 在Flume1.7时新增了一个source 的类型为taildir,它可以监控一个目录下的多个文件,并且实现了实时读取记录保存的断点续传功能。 但是Flume1.7中如果文件重命名,那么会被当成新文件而被重新采集。 Channel Memory Channel Memory

寒假学习记录18

老子叫甜甜 提交于 2020-02-12 21:52:15
寒假学习记录18 实验 6 Spark Streaming 编程初级实践 一、实验目的 (1)通过实验学习日志采集工具 Flume 的安装和使用方法; (2)掌握采用 Flume 作为 Spark Streaming 数据源的编程方法。 二、实验平台 操作系统: Ubuntu16.04 Spark 版本:2.1.0 Flume 版本:1.7.0 三、实验内容和要求 1. 安装 Flume Flume 是 Cloudera 提供的一个分布式、可靠、可用的系统,它能够将不同数据源的海量 日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中。Flume 的 核心是把数据从数据源收集过来,再送到目的地。请到 Flume 官网下载 Flume1.7.0 安装文 件,下载地址如下: http://www.apache.org/dyn/closer.lua/flume/1.7.0/apache-flume-1.7.0-bin.tar.gz 或者也可以直接到本教程官网的“ 下 载 专 区 ” 中的“ 软件” 目 录 中 下 载 apache-flume-1.7.0-bin.tar.gz。 下载后,把 Flume1.7.0 安装到 Linux 系统的“/usr/local/flume”目录下,具体安装和使 用方法可以参考教程官网的“实验指南”栏目中的“日志采集工具 Flume