flume

Flume入门学习

情到浓时终转凉″ 提交于 2019-11-28 07:43:25
一、概述   ①Flume最早是由Cloudera提供的 日志收集系统 ,后贡献给apache。   ②Flume是一个高可用、高可靠、健壮性,分布式的海量日志采集、聚合和传输的系统。   ③Flume支持在日志系统中定制各类数据发送方,用于收集数据(source)。   ④Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力(sink)。 二、版本历史   ①Flume0.9X:又称Flume-og,老版本的flume,需要引入zookeeper集群管理,性能比较低(单线程工作)。   ②Flume1.X:又称Flume-ng,新版本的flume,需要引入zookeeper,和flume-og不兼容。 三、Flume特性   ①可靠性:事务型的数据传递,保证数据的可靠性。一个日志交给flume来处理,不会出现日志丢失或未被处理的情况。   ②可恢复性:通道可以以内存或文件的方式实现,内存更快,但不可恢复。文件方式较慢但提供了可恢复性。 四、Flume的总体架构   Flume的apache官网地址: http://flume.apache.org/    (1)event事件   ① Flume的核心: 把数据从数据源(source)收集过来,再将收集到的数据送到指定的目的地(sink)。为了保证输送的数据一定成功,在送到目的地之前,会缓存数据(Channel)

flume获取rabbitMQ数据,由kafka接收

為{幸葍}努か 提交于 2019-11-28 05:36:39
最近新项目做的是聊天客户系统,都是单聊的业务。当前的业务需求是将每一个会话中的访客和客服聊天数据持久化,方便后期分析用户行为数据。 使用netty做的长连接,可以使用业务代码回调功能,用kafka消费落入hbase;但是离线数据,使用的是rabbitMQ; 分几步走: 第一步,首先我们需要了解flume是干什么的。 flume可用于海量日志采集、聚合和传输的系统,同时可以对数据做简单处理,并写入到数据接收方(flume中的属于叫sink“槽”,比如hbase,hadoop的hdfs); source > flume > sink 数据来源由flume获取并处理,由flume落入各个sink中。     在这项目中,flume的source类型是rabbitMQ,当前flume版本还不支持rabbitMQ,这里外国有大神做了这个插件,地址是: https://github.com/jcustenborder/flume-ng-rabbitmq 第二步,安装flume,并对source和sink进行配置 linux服务器下载flume 安装包,解压在opt文件夹下;将第一步github的项目部署,打成jar包,复制到flume的lib文件夹下面 接下来配置 rabbit-flume-kafka.properties (创建一个新文件) 具体如下: #q_app2web a1

flume学习

此生再无相见时 提交于 2019-11-27 22:06:19
什么是Flume? flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。 flume的特点: flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力 。flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source生成,当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。 flume 的可靠性 当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Besteffort

flume 1.7 源码导入eclipse windows

夙愿已清 提交于 2019-11-27 21:02:52
安装maven,设置MAVEN_HOME等配置 下载flume源码 eclipse-oxygen,设置eclipse 使用外部maven,并配置settings.xml shell mvn clean install -DskipTests -Dmaven.test.skip=true 遇到问题: [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Apache Flume ....................................... SUCCESS [ 7.379 s] [INFO] Flume NG SDK ....................................... SUCCESS [ 5.782 s] [INFO] Flume NG Configuration ............................. SUCCESS [ 2.031 s] [INFO] Flume Auth ......................................... SUCCESS [ 5.672 s] [INFO] Flume NG Core ..

Spark 系列(十五)—— Spark Streaming 整合 Flume

我是研究僧i 提交于 2019-11-27 09:18:16
一、简介 Apache Flume 是一个分布式,高可用的数据收集系统,可以从不同的数据源收集数据,经过聚合后发送到分布式计算框架或者存储系统中。Spark Straming 提供了以下两种方式用于 Flume 的整合。 二、推送式方法 在推送式方法 (Flume-style Push-based Approach) 中,Spark Streaming 程序需要对某台服务器的某个端口进行监听,Flume 通过 avro Sink 将数据源源不断推送到该端口。这里以监听日志文件为例,具体整合方式如下: 2.1 配置日志收集Flume 新建配置 netcat-memory-avro.properties ,使用 tail 命令监听文件内容变化,然后将新的文件内容通过 avro sink 发送到 hadoop001 这台服务器的 8888 端口: #指定agent的sources,sinks,channels a1.sources = s1 a1.sinks = k1 a1.channels = c1 #配置sources属性 a1.sources.s1.type = exec a1.sources.s1.command = tail -F /tmp/log.txt a1.sources.s1.shell = /bin/bash -c a1.sources.s1.channels =

JavaWeb项目中的配置log4j由Flume-ng(1.6.0)写入HDFS的项目实例

强颜欢笑 提交于 2019-11-27 07:46:39
提要:本文中项目代码运行在windows的eclipse开发环境下。 注意事项:项目中需要引用Flume提供的jar包,最新版的Flume-1.6.0的jar包需要JDK1.7的环境,JDK1.8会报 ClassNotFoundException:org.apache.flume.clients.log4jappender.Log4jAppender 错误。 1、将flume安装路径下的tools文件下的jar包:flume-ng-log4jappender-1.6.0-jar-with-dependencies.jar 引入项目。(这个包是包含了所有依赖包的包。有的示例里说可以引用flume-ng-core-1.6.0.jar之类的等等,那种运行会报错,会报很多类找不到,还需要引用好多jar包,应用不便) 如图: OS:作为一个小新手,之前查了好多资料,不同版本包名不一样,好多只说引入包,就不写路径或者路径真的不太一样,真是神烦。 2、 配置log4j,以下为配置文件: log4j.rootLogger=INFO,console,file,flume log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout

大数据学习之flume安装

丶灬走出姿态 提交于 2019-11-27 07:43:00
下载需要的版本并且上传到centos 这里我下载的是flume1.7.0,地址: http://www.apache.org/dyn/closer.lua/flume/1.7.0/apache-flume-1.7.0-bin.tar.gz 解压并改名 [root@hlh001 software]# tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /opt/module/ [root@hlh003 module]# mv apache-flume-1.7.0-bin flume 三、配置环境变量 [root@hlh003 module]# vim /etc/profile #flumehome export FLUME_HOME=/opt/module/flume export PATH=$PATH:$FLUME_HOME/bin [root@hlh003 module]# source /etc/profile 四、验证flume环境 [root@hlh003 module]# flume-ng version Flume 1.7.0 来源: https://blog.csdn.net/weixin_44772799/article/details/99555346

log4j直接输出日志到flume

℡╲_俬逩灬. 提交于 2019-11-27 06:08:48
log4j直接输出日志到flume 此jar是由Cloudera的CDH发行版提供的一个工具类,通过配置,可以将log4j的日志直接输出到flume,方便日志的采集。 在CDH5.3.0版本中是:flume-ng-log4jappender-1.5.0-cdh5.3.0-jar-with-dependencies.jar 所在目录是:/opt/cloudera/parcels/CDH/lib/flume-ng/tools/ 具体使用示例 log4j配置(log4j.properties) log4j.category.com.xxx=INFO,console,flume log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.out log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern="%d{yyyy-MM-dd HH:mm:ss} %p [%c:%L] - %m%n log4j.appender.flume = org.apache.flume.clients.log4jappender

Flume NG 简介及配置实战

ぐ巨炮叔叔 提交于 2019-11-27 06:08:23
Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.94.0 中,日志传输不稳定的现象尤为严重,为了解决这些问题,2011 年 10 月 22 号,cloudera 完成了 Flume-728,对 Flume 进行了里程碑式的改动:重构核心组件、核心配置以及代码架构,重构后的版本统称为 Flume NG(next generation);改动的另一原因是将 Flume 纳入 apache 旗下,cloudera Flume 改名为 Apache Flume。IBM 的这篇文章:《 Flume NG:Flume 发展史上的第一次革命 》,从基本组件以及用户体验的角度阐述 Flume OG 到 Flume NG 发生的革命性变化。本文就不再赘述各种细枝末节了,不过这里还是简要提下 Flume NG (1.x.x)的主要变化: sources和sinks 使用channels 进行链接 两个主要channel 。1, in-memory channel 非持久性支持

Spark学习之路 (二十二)SparkStreaming的官方文档

瘦欲@ 提交于 2019-11-27 05:56:09
讨论QQ:1586558083 目录 一、简介 1.1 概述 1.2 一个小栗子 2.2 初始化StreamingContext 2.3 离散数据流 (DStreams) 2.4 输入DStream和接收器 2.5 接收器可靠性 二、基本概念 2.1 链接依赖项 三、DStream支持的transformation算子 3.1 updateStateByKey算子 3.2 transform算子 3.3 基于窗口(window)的算子 3.4 Join相关算子 四、DStream输出算子 4.1 使用foreachRDD的设计模式 正文 官网地址: http://spark.apache.org/docs/latest/streaming-programming-guide.html 回到顶部 一、简介 1.1 概述 Spark Streaming 是 Spark核心 API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括 Kafk、 Flume、 Twitter、 ZeroMQ、 Kinesis 以及 TCP sockets,从数据源获取数据之后,可以使用诸如 map、 reduce、 join和 window等高级函数进行复杂算法的处理。最后还可以将处理结果存储到文件系统,数据库和现场仪表盘。在“ One Stack rule