Flume协作框架

Flume协作框架

1.概述  

  -》flume的三大功能
    collecting, aggregating, and moving 
      收集 聚合 移动

 

2.框图

  


3.架构特点
  -》on streaming data flows
    基于流式的数据
    数据流:job-》不断获取数据
    任务流:job1->job2->job3&job4


  -》for online analytic application.


  -》Flume仅仅运行在linux环境下
    如果我的日志服务器是Windows?


  -》非常简单
    写一个配置文件,运行这个配置文件 
    source、channel、sink


  -》实时架构
    flume+kafka spark/storm impala


  -》agent三大部分
    -》source:采集数据,并发送给channel

    -》channel:管道,用于连接source和sink的
    -》sink:发送数据,用于采集channel中的数据

 

4.Event

  

 

5.Source/Channel/Sink

  

二:配置

1.下载解压

  下载的是Flume版本1.5.0

  

 

2.启用flume-env.sh

  

 

3.修改flume-env.sh

  

 

4.增加HADOOP_HOME

  因为在env.sh中没有配置,选择的方式是将hdfs的配置放到conf目录下。

  

 

5.放入jar包

  

 

6.验证

  

 

7.用法

  

 

三:Flume的使用

  

 

1.案例1

  source:hive.log    channel:mem   sink:logger

 

2.配置

  cp flume-conf.properties.template hive-mem-log.properties

 

3.配置hive-mem-log.properties

  

 

 4.运行

  那边是日志级别

 

 

5.注意点

  这边的属于实时采集,所以在控制台上的信息随着hive.log的变化在变化

  

 

 6.案例二

  source:hive.log    channel:file   sink:logger

 

7.配置

  cp hive-mem-log.properties hive-file-log.properties

 

8.配置hive-file-log.properties

  新建file的目录

  

  配置

  

 

 9.运行

  

  

10.结果

  

11.案例三

  source:hive.log    channel:mem   sink:hdfs

 

12.配置

  cp hive-mem-log.properties hive-mem-hdfs.properties

 

13.配置hive-mem-hdfs.properties

  

 

 14.运行

  

   验证了,在配置文件中不需要有这个目录,会自动产生。

   

 

四:企业思考一

15.案例四

  因为在hdfs上会生成许多小文件,文件的大小的设置。

 

16.配置

   cp hive-mem-hdfs.properties hive-mem-size.properties

 

17.配置hive-mem-size.properties

  

 

18.运行

  

19.结果

  

 

20.案例五

   按时间进行分区

21.配置

  cp hive-mem-hdfs.properties hive-mem-part.properties

 

22.配置hive-mem-part.properties

  

 

23.运行

  bin/flume-ng agent -c conf/ -n a1 -f conf/hive-mem-part.properties -Dflume.root.logger=INFO,console

 

24.运行结果

  

25.案例六

  自定义文件开头

 

26.配置hive-mem-part.properties

  

 

 27.运行效果

  

 

 

五:企业思考二

1.案例七

  source:用来监控文件夹

   文件中先存在.tmp

  到第二日出现新的.tmp文件。前一天的.tmp马上变成log结尾,这时监控文件夹时,马上发现出现一个新的文件,就被上传进HDFS

 

2.配置

  cp hive-mem-hdfs.properties dir-mem-hdfs.properties

 

3.正则表达式忽略上传的.tmp文件

  

 

3.配置dir-mem-hdfs.properties

  新建文件夹

  

  配置

  

 

4.观察结果

  

 

5.案例二

  source:监控文件夹下文件的不断动态追加

  但是现在不是监控新出现的文件下,

  这个配置将在下面讲解

  。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

六:企业实际架构

1.flume多sink

  同一份数据采集到不同的框架

  采集source:一份数据

  管道channel:案例中使用两个管道

  目标sink:多个针对于多个channel

  

 

 2.案例

  source:hive.log   channel:file   sink:hdfs

 

3.配置

  cp hive-mem-hdfs.properties sinks.properties

 

4.配置sink.properties

  新建存储的文件

  

  配置

  

 

5.效果

  

 

6.flume的collect

  

 

7.案例

  启动三台机器,其中两台为agent,一台collect。

  192.168.134.241:collect

  192.168.134.242:agent
  192.168.134.243:agent

  

8.情况

  因为没有搭建cdh集群,暂时不粘贴

 

9.运行

  运行:collect

    bin/flume-ng agent -c conf/ -n a1 -f conf/avro-collect.properties -Dflume.root.logger=INFO,console 

  运行:agent
    bin/flume-ng agent -c conf/ -n a1 -f conf/avro-agent.properties -Dflume.root.logger=INFO,console

  

  

七:关于文件夹中文件处于追加的监控

1.安装git

2.新建一个文件下

3.在git bash 中进入目录

4.在此目录下下载源码

  

5.进入flume目录

6.查看源码有哪些分支

  

7.切换分支

  

8.复制出flume-taildir-source

 

九。编译

1.pom文件

  

 

2.在1.5.0中添加一个1.7.0中的类

  PollableSourceConstants

 

3.删除override

  

4.编译 

  run as -> maven build
  goals -> skip testf

 

5.将jar包放在lib目录下

 

6.使用

  因为这是1.7.0的源码,所以在1.5的文档中没有。

  所以:可以看源码

    或者看1.7.0的参考文档关于Tail的介绍案例

      \flume\flume-ng-doc\sphinx\FlumeUserGuide

 

7.配置

  

转载于:https://www.cnblogs.com/RHadoop-Hive/p/7414013.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux history操作的路径,绝对路径和相对路径,目录命令(cd,mkdir,rm,history)

绝对路径和相对路径绝对路径是以/(根)开头的[rootaminglinux-02 ~]# ls /etc/hostname/etc/hostname相对路劲是相对当前目录的路径[rootaminglinux-02 ~]# pwd 查看当前目录/root[rootaminglinux-02 ~]# ls .ssh/authorized_keys.ssh/authorized_keyscd 命令cd进入目录&#xf…

【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用

实验现象: 程序运行时,绿色led闪烁(目前,具体的乘法器调用请参考iCore3乘法器例程) 核心代码: module multiplier_ctrl(input clk_25m,input rst_n,output fpga_ledg ); //--------------------clk_10hz---…

如何通过编程方式添加Native Client服务器别名

之前我有一篇博客讲到了Native Client中添加服务器别名的问题。请参考下面的链接(讨论服务器别名的内容在该链接文章的底部) http://www.cnblogs.com/chenxizhang/archive/2009/04/23/1441913.html 我当时是想直接改注册表的方式。这种方式当然肯定是可…

windows os x linux,What languages are Windows, Mac OS X and Linux written in?

问题I was just wondering who knows what programming languages Windows, Mac OS X and Linux are made up from and what languages are used for each part of the OS (ie: Kernel, plug-in architecture, GUI components, etc).I assume that there are multiple language…

Windows 7 硬盘安装方法

Windows 7硬盘安装正确方法收集一早同事的Windows 7系统有点问题,视频等不能正常播放。想要升级到7068的比较新的版本,是修复呢,还是重新安装呢?但他没有光驱,只能硬盘安装了。于是网上收集了一些硬盘安装的资料。这三…

Jmeter常见问题

1. JMeter的工作原理是什么?向服务器提交请求;从服务器取回请求返回的结果。2. JMeter的作用?JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源&#xff…

linux7.0开启ssh端口命令,Centos 7 修改SSH端口号

最近自己需要用台linux服务器,听朋友意见选择了Centos,安装完了之后发现全是坑!防火墙改为firewalld,linux系统默认了10多年的iptables都没装。。。预装的数据库是mariadb,没有mysql(后来查资料mariadb是mysql的分支&a…

《C#3.0 in a Nutshell,3rd Edition》之C#3.0和.net3.5基本介绍篇

前言 借着看这本书的机会,好好系统学习一下C#3.0和.net3.5。C#3.0是一门面向对象的编程语言,具有多用途和类型安全等特征。为实现开发和学习的高效性,她在语言的简单,易表达,以及可编程性上做了很大努力。使得新人能够…

linux github中文官网,GitHub使用简介

GitHub使用简介1. 关于GitHub的常见使用方法,请参考官网上面的说明。本篇文档只是针对于常用的,而且容易犯错的用法进行说明。仅仅是个人观点。2. 如何使用GitHub?(1) 常用的是首先在GitHub上创建一个版本库,然后接下来的工作是在…

[Win 7]Windows7 RC 简体中文版测试正式开始了哦!!

备受全世界关注的Windows7 RC ,于昨天晚上全球同步提供下载,在MSDN和Technet上已经同步提供下载,如果您是订阅用户可以立即下载体验了。微软已经宣布Windows 7RC的公开发布提起为5月5号!此次RC的发布,微软盛情邀请了10几位MVP参与…

bzoj 36733674 可持久化并查集加强版(可持久化线段树+启发式合并)

CCZ在2015年8月25日也就是初三暑假要结束的时候就已经能切这种题了%%% 学习了另一种启发式合并的方法,按秩合并,也就是按树的深度合并,实际上是和按树的大小一个道理,但是感觉(至少在这题上)更好处理一些。…

linux apache守护进程,Linux基础命令---httpd守护进程

httpdhttpd是apache超文本传输协议的主程序,它被设计成一个独立运行的守护进程。httpd会建立一个线程池来处理http请求。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法httpd [选项]2、参数列表选项说明-d serverroo…

银行家舍入VS四舍五入(下):.NET发现之旅(四)

接上节这一节继续讨论银行家舍入和四舍五入三&#xff0c;自己动手开发四舍五入组件<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />事实上四舍五入在很多项目中还经常使用&#xff0c;所以我们可以动手开发一个这样的组件&…

基础回顾之泛型

1.泛型的优点 1>提高了安全性(将运行期的错误提前到编译器) 2>省去了强转的麻烦 2.<>中只能存放引用数据类型 3.集合前后泛型需要一致,jdk1.7之后,后面的<>中可以不写 4.方法的泛型最好和类的泛型一致 5.方法的泛型若与类的泛型不一致必须在方法前声明自己的…