flume

flume

ⅰ亾dé卋堺 提交于 2019-11-27 05:21:50
flume数据采集 各种各样的数据源--》读数据,缓存数据,写数据--各种各样的目标存储系统 缓存数据:内存,本地磁盘文件 读数据:任何数据都封装成event对象;组件接口(source),根据各种数据源写source实现类 event:head{描述信息},body{数据} 写数据:组件接口(sink),根据目标存储系统写sink实现类 常用实现类已经写好,只用修改实现类的配置文件 flume工作机制:可以启动flume的agent程序进行数据采集,每个agent程序中包含三大组件:source,channel,sink,agent根据需要可以在多台机器上启动 来源: https://www.cnblogs.com/djh222/p/11346780.html

linux安装flume和集成kafka测试

空扰寡人 提交于 2019-11-27 05:11:36
一.前期准备 1.1 kafka+zookeeper集群环境以安装 1.2 下载flume 本文使用flume1.7 下载地址: http://flume.apache.org/download.html 二.配置flume 2.1 上传flume #上传下载包至/opt/software cd /opt/software rz apache-flume-1.7.0-bin.tar.gz #解压 tar -zxvf apache-flume-1.7.0-bin.tar.gz #复制apache-flume-1.7.0-bin至/usr/local cp -r apache-flume-1.7.0-bin flume 2.2 配置环境变量 vi /etc/profile export FLUME_HOME=/usr/local/flume export path=$PATH:$FLUME_HOME/bin 保存退出 重新编译profile source /etc/profile 2.3 配置flume-env #添加jdk路径 cd /usr/local/flume/conf cp -r flume-env.sh.template flume-env.sh vi flume-env.sh export JAVA_HOME=/usr/local/jdk 三.测试flume+kafka

Cloudera Flume简介

妖精的绣舞 提交于 2019-11-26 18:17:11
Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 上图的Flume的Architecture,在Flume中,最重要的抽象是data flow(数据流),data flow描述了数据从产生,传输、处理并最终写入目标的一条路径。在上图中,实线描述了data flow。 其中,Agent用于采集数据,agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。对应的,collector用于对数据进行聚合,往往会产生一个更大的流。 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。同时,Flume的数据接受方,可以是console(控制台)、text(文件)、dfs(HDFS文件)、RPC(Thrift-RPC)和syslogTCP(TCP syslog日志系统)等。 其中,收集数据有2种主要工作模式,如下: Push Sources

Flume的安装与使用

↘锁芯ラ 提交于 2019-11-26 10:04:35
文章目录 Apache Flume 一、概述 二、环境搭建 安装 语法详解 Simple Example 准备配置文件 启动Flume Agent服务实例 测试 三、Flume的Compent详细使用 Source Netcat Exec 测试追加数据 Spooling Directory Avro 通过专用客户端测试 Kafka Channel Memory JDBC(不重要) Kafka File Spillable Memory Sink Logger HDFS Avro File Roll HBase Sink Kafka Sink Interceptor(拦截器) Timestamp Host Static UUID Regex Extractor Regex Filter Channel Seletor(通道选择器) 复制的通道选择器 分发的通道选择器 Sink Group LoadBalance 四、作业- 基于Nginx访问日志的数据分析平台 Nginx 安装 日志文件格式 日志切割 数据清洗 正则表达式 语法 正则匹配抽取Nginx访问日志中的关键指标 测试字符串 需要使用到的正则表达式 通过JAVA程序获取访问日志中的五项关键指标 自定义数据清洗的Mapper 自定义数据清洗的初始化类 数据清洗后的结果 Apache Flume 一、概述

flume报错Caused by: java.lang.ClassNotFoundException: org.apache.flume.tools.GetJavaProperty

我怕爱的太早我们不能终老 提交于 2019-11-26 03:48:05
flume运行flume-ng version时报错信息: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flume/tools/GetJavaProperty Caused by: java.lang.ClassNotFoundException: org.apache.flume.tools.GetJavaProperty at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main

Flume介绍及其安装

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-26 02:02:35
一. Flume是什么? Flume是一个分布式,可靠的系统。它能够高效的收集,整合数据,还可以将来自不同源的大量数据移动到数据中心存储。 Flume是Apache下的一个顶级项目。Flume不仅可以收集整合日志数据,因为数据源是可以自定义的,Flume能够用于传输大量日志数据,这些数据包含到不仅限于网络传输数据、社交媒体生成的数据、邮件信息等等。 当前的版本有0.9.x和1.x。新版本具有更加灵活的配置和性能上的改进,推荐使用1.x版本。本文介绍使用的是1.8版本。 二.Flume的数据流模型 简单的讲,Flume Agent(一个JVM进程)将外部产生的事件发送给下一个目标也称成下一跳。 1.相关术语 Flume event:它是实际就是数据。是Flume中数据最小传输单位,数据里面除了有效数据,还有一些可选的属性设置。 Flume Source:会将收到的event放在一个或多个channel中 Flume Channe:保存event知道event被一个Flume sink消费 Flume Sink:会将channel中的event放入到一个外部源中,或者将其发送给下一个Flume agent的Flume source中。 注意 : Flume source和sink与channel的交互式异步的。 2.Flume数据流向过程 如上图,外部事件源Web Server

Flume 入门

℡╲_俬逩灬. 提交于 2019-11-26 00:28:50
1 Flume 概述 1.1 定义 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统; Flume 基于流式架构,灵活简单。 1.2 特点 可以和任意存储进程集成 输入的的数据速率大于写入目的存储的速率, Flume 会进行缓冲,减小 HDFS 的压力 Flume 中的事务基于 Channel ,使用了两个事务模型( sender + receiver ),确保消息被可靠发送 Flume 使用两个独立的事务分别负责从 Soucrce 到 Channel ,以及从 Channel 到 Sink 的事件传递。一旦事务中所有的数据全部成功提交到 Channel ,那么 Source 才认为该数据读取完成,同理,只有成功被 Sink 写出去的数据,才会从 Channel 中移除 1.3 组成架构 1.3.1 Agent Agent 是一个 JVM 进程,它以事件的形式将数据从源头传递到目的地 Agent 主要由 Source 、 Channel 、 Sink 组成 1.3.2 Source Source 是负责接收数据到 Agent 的组件,可以处理各种类型,包括 avro 、 thrift 、 exec 、 jms 、 spooling directory 、 netcat 、 sequence generator 、 syslog

tcp socket文件句柄泄漏

拈花ヽ惹草 提交于 2019-11-25 23:48:55
tcp socket文件句柄泄漏 今天发现有台redis机器上出现socket个数告警,这是很奇怪的现象。因为一台redis服务器上就部署了几个redis实例,打开的端口应该是有限。 1、netstat显示的tcp连接数正常 netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'` TIME_WAIT 221 ESTABLISHED 103 netstat -nat |wc -l 368 建立的tcp连接数并不是很多。 ss -s显示大量的closed连接 ss -s Total: 158211 (kernel 158355) TCP: 157740 (estab 103, closed 157624, orphaned 0, synrecv 0, timewait 173/0), ports 203 Transport Total IP IPv6 158355 - - RAW 0 0 0 UDP 9 6 3 TCP 116 80 36 INET 125 86 39 FRAG 0 0 0 closed 157624 而我的系统监控取值方法是: cat /proc/net/sockstat | grep sockets | awk '{print $3}'

Flume学习之路 (二)Flume的Source类型

帅比萌擦擦* 提交于 2019-11-25 22:01:20
一、概述 官方文档介绍 : http://flume.apache.org/FlumeUserGuide.html#flume-sources 二、Flume Sources 描述 2.1 Avro Source 2.1.1 介绍 Avro端口监听并接收来自外部的Avro客户流的事件。当内置Avro去Sinks另一个配对Flume代理,它就可以创建分层采集的拓扑结构。官网说的比较绕,当然我的翻译也很弱,其实就是flume可以多级代理,然后代理与代理之间用Avro去连接。==字体加粗的属性必须进行设置==。 Property Name Default Description channels – type – The component type name, needs to be avro bind – hostname or IP address to listen on port – Port # to bind to threads – Maximum number of worker threads to spawn selector.type selector.* interceptors – Space-separated list of interceptors interceptors.* – compression-type none This can be

基于可视化配置的日志结构化转换实现

坚强是说给别人听的谎言 提交于 2019-11-25 20:55:10
导读:数据总线DBus的总体架构中主要包括六大模块,分别是:日志抓取模块、增量转换模块、全量抽取程序、日志算子处理模块、心跳监控模块、Web管理模块。六大模块各自的功能相互连接,构成DBus的工作原理:通过读取RDBMS增量日志的方式来实时获取增量数据日志(支持全量拉取);基于Logstash,flume,filebeat等抓取工具来实时获得数据,以可视化的方式对数据进行结构化输出。本文主要介绍的是DBus中基于可视化配置的日志结构化转换实现的部分。 一、结构化日志的原理 1.1 源端日志抓取 DBus可以对接多种log数据源,例如:Logstash、Flume、Filebeat等。上述组件都是业界比较流行的日志抓取工具,一方面便于用户和业界统一标准,方便用户技术方案的整合;另一方面也避免了无谓的重复造轮子。抓取的数据我们称为原始数据日志(raw data log),由抓取组件将其写入Kafka中,等待DBus后续处理。 1.2 可视化配置规则,使日志结构化 用户可自定义配置日志源和目标端。同一个日志源的数据可以输出到多个目标端。每一条“日志源-目标端”线,用户可以根据自己的需要来配置相应的过滤规则。经过规则算子处理后的日志是结构化的,即:有schema约束,类似于数据库中的表。 1.3 规则算子 DBus设计了丰富易用的算子,用于对数据进行定制化操作