flume

flume+kafka安装部署使用

安稳与你 提交于 2020-03-11 01:14:46
安装部署flume+kafka 关于Flume 的 一些核心概念: 组件名称 功能介绍 Agent代理 使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。 Client客户端 生产数据,运行在一个独立的线程。 Source源 从Client收集数据,传递给Channel。 Sink接收器 从Channel收集数据,进行相关操作,运行在一个独立线程。 Channel通道 连接 sources 和 sinks ,这个有点像一个队列。 Events事件 传输的基本数据负载。 1.在apache官网安装flume 入门文档 kafka入门文档 整合配置 1.新建kafka.properties在/flume/conf agent.sources = s1 agent.channels = c1 agent.sinks = k1 agent.sources.s1.type = exec agent.sources.s1.command = tail -F /tmp/flume-logs/kafka.log agent.sources.s1.channels = c1 agent.channels.c1.type = memory agent.channels.c1.capacity = 10000 agent

Flume面试题

一世执手 提交于 2020-03-08 23:01:01
1 你是如何实现Flume数据传输的监控的 使用第三方框架Ganglia实时监控Flume。 2 Flume的Source,Sink,Channel的作用?你们Source是什么类型? 1、作用 (1)Source组件是专门用来收集数据的,可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy (2)Channel组件对采集到的数据进行缓存,可以存放在Memory或File中。 (3)Sink组件是用于把数据发送到目的地的组件,目的地包括Hdfs、Logger、avro、thrift、ipc、file、Hbase、solr、自定义。 2、我公司采用的Source类型为: (1)监控后台日志:exec (2)监控后台产生日志的端口:netcat Exec spooldir 3 Flume的Channel Selectors 官方文档上channel selectors 有两种类型:Replicating Channel Selector (default), Multiplexing Channel Selector 这两种selector的区别是:Replicating 会将source过来的events发往所有channel

Flume之实现和使用自定义Interceptor

冷暖自知 提交于 2020-03-06 00:12:49
前言 Flume Interceptor拦截器的作用在于能够在Event从Source传输到Channel过程中,修改或者删除Event的Header。多个拦截器Interceptor组成一个拦截器链,拦截器的执行顺序与配置顺序相同,上一个拦截器Interceptor处理后的Event List会传给下一个Interceptor 在Flume中自定义Interceptor时,需要实现org.apache.flume.interceptor.Interceptor接口,以及创建静态内部类去实现org.apache.flume.interceptor.Interceptor.Builder接口 更多详细内容可以参考《Flume构建高可用、可扩展的海量日志采集系统》 实现自定义Interceptor拦截器 1)根据使用场景创建Interceptor类 public class TypeInterceptor implements Interceptor { // 初始化时可以不做操作 public void initialize ( ) { // Do nothing } // 单个Event拦截 public Event intercept ( final Event event ) { // 1.获取Event中的Header Map < String , String >

flume案例-网络数据采集-Flume安装

痴心易碎 提交于 2020-03-01 19:37:02
Flume 的安装部署 下载解压修改配置文件 下载地址: http://archive.apache.org/dist/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境 上传安装包到数据源所在节点上 这里我们采用在第三台机器来进行安装 cd /export/softwares/ tar -zxvf apache-flume-1.8.0-bin.tar.gz -C ../servers/ cd /export/servers/apache-flume-1.8.0-bin/conf cp flume-env.sh.template flume-env.sh vim flume-env.sh export JAVA_HOME=/export/servers/jdk1.8.0_141 来源: CSDN 作者: Leon_Jinhai_Sun 链接: https://blog.csdn.net/Leon_Jinhai_Sun/article/details/104591567

Flume、Kafka、Storm、Scala、Impala、Hive、Spark基本概念

谁说我不能喝 提交于 2020-02-29 11:32:17
Flume Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。 Flume-og采用了多Master的方式。为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。 Flume-ng最明显的改动就是取消了集中管理配置的 Master 和 Zookeeper,变为一个纯粹的传输工具。Flume-ng另一个主要的不同点是读入数据和写出数据现在由不同的工作线程处理(称为 Runner)。 在 Flume-og 中,读入线程同样做写出工作(除了故障重试)。如果写出慢的话(不是完全失败)

logstash_forward+flume+elasticsearch+kibana日志收集框架

社会主义新天地 提交于 2020-02-28 21:46:21
最开始架构定的是采用elk来做日志的收集,但是测试一段时间后,由于logstash的性能很差,对cpu和内存消耗很大,放弃了logstash。为什么没有直接使用flume的agent来收集日志,这主要是根据实际的需求,众所周知,flume对目录的收集无法针对文件的动态变化,在传完文件之后,将会修改文件的后缀,变为.COMPLETED,无论是收集应用日志还是系统日志,我们都不希望改变原有的日志文件,最终收集日志使用了用go开发的更轻量级的logstash_forward,logstash_forward功能比较单一,目前只能用来收集文件。 1.安装logstash-forwarder。 https://github.com/elasticsearch/logstash-forwarder 2.flume安装很简单,解压包即可。 3.安装elasticsearch,测试只安装es单节点 下载 https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.2.tar.gz tar zxf elasticsearch-1.3.2.tar.gz cd elasticsearch-1.3.2/ cd config 可以看到elasticsearch.yml,logging.yml两个文件

kafka是什么?storm与kafka的区别?

余生颓废 提交于 2020-02-28 01:04:29
kafka是消息队列,类似于RabitMQ,作为中间组件,主要解决异步,削峰,提高系统性能。 storm与kafka的区别? storm用于流数据的实时处理,在获取流数据之前,需要加入kafka消息队列来提高性能。 flume是什么? flume是在kafka获取数据之间,加入flume获取数据,把获取数据的流程封装起来,变得比较简单。 来源: oschina 链接: https://my.oschina.net/u/4434424/blog/3176335

Flume安装配置

雨燕双飞 提交于 2020-02-26 15:24:46
Flume安装配置 =============================== 一、前置条件 Flume 需要依赖 JDK 1.8+ 二 、安装步骤 2.1 下载并解压 下载所需版本的 Flume,这里我下载的是 CDH 版本的 Flume。下载地址为:http://archive.cloudera.com/cdh5/cdh/5/ tar -zxvf flume-ng-1.6.0-cdh5.15.2.tar.gz 2.2 配置环境变量 vim /etc/profile 添加环境变量: export FLUME_HOME=/opt/flume1.6 export PATH=$FLUME_HOME/bin:$PATH 使得配置的环境变量立即生效: source /etc/profile 2.3 修改配置 进入安装目录下的 conf/ 目录,拷贝 Flume 的环境配置模板 flume-env.sh.template: cp flume-env.sh.template flume-env.sh 修改 flume-env.sh,指定 JDK 的安装路径: export JAVA_HOME=/opt/jdk1.8 三 、验证 由于已经将 Flume 的 bin 目录配置到环境变量,直接使用以下命令验证是否配置成功: flume-ng version 来源: CSDN 作者: 夜神很努力

flume抽取mysql数据到kafka

二次信任 提交于 2020-02-26 06:59:40
kafka+zookeeper搭建见文章 教程url flume安装: 1、 下载地址 2、安装-下图 新建数据库和表 3、配置新增conf/mysql-flume.conf [root@node191 apache-flume-1.8.0-bin]# cat conf/mysql-flume.conf a1.channels = ch-1 a1.sources = src-1 a1.sinks = k1 ###########sql source################# # For each one of the sources, the type is defined a1.sources.src-1.type = org.keedio.flume.source.SQLSource a1.sources.src-1.hibernate.connection.url = jdbc:mysql://192.168.3.191:3306/chenhuachao # Hibernate Database connection properties a1.sources.src-1.hibernate.connection.user = root a1.sources.src-1.hibernate.connection.password = abcd@1234 a1

Flume中配置hadoop native sink

醉酒当歌 提交于 2020-02-26 02:05:05
由于HDFS sink文件压缩在flume中存在问题(请参考https://blog.csdn.net/weixin_34874025/article/details/86441770 ),解决方案是配置hadoop执行环境使其load native lib。 flume env设置 flume版本:1.9.0 从hadoop中native lib和jar至flume所在目录中 配置flume-env.sh export JAVA_LIBRARY_PATH=$JAVA_LIBRARY_PATH:$FLUME_HOME/plugins.d/hadoop/native export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FLUME_HOME/plugins.d/hadoop/native 根据类名查找缺失的jar包 针对 java.lang.NoClassDefFoundError 异常,使用java的解包命令 jar ,结合shell脚本查找缺失的类所在jar包。 #!/bin/bash cd $HADOOP_HOME for jar in `find ./ *.jar | grep jar` do result=`jar -tf $jar | grep InfSecException` if [ -n "$result" ];then echo