4、分布式日志收集框架Flume

一、业务现状分析

              

                   

            如何解决我们的数据从其他的server上移动到Hadoop之上?

                       shell  cp hadoop集群到机器上   hadoop fs -put ---

                 

二、Flume概述    webserver(源端)➡️ Flume ➡️  hdfs

         Flume是由Cloudera提供的一个分布式、高可靠、高可用的服务,用于分布式的海量日志的高效收集、集合、移动系统

         Flume设计目标:

                                  可靠性

                                   扩张性

                                   管理性

         Flume同类产品的对比:(红色标注的是目前经常使用的)

                                  Flume:Cloudera / Apache            Java

                                  Scribe:  Facebook   C / C++            不在维护

                                  Chukwa:Yahoo / Apache  Java     不在维护

                                  Fluentd:Ruby

                                  Logstash:ELK(ElasticSearch,Kibana)

三、Flume架构及核心组件

       

      Source    收集

      Channel   聚集

      Sink          输出

      

四、Flume环境部署

首先安装jdk ,本项目中安装的jdk版本是1.8.0

安装flume

检测安装成功与否:flume-ng  version

五、Flume实战

       实战一:

       需求:从指定网络端口采集数据输出到控制台

       在flume的conf目录下创建一个example.conf文件,然后将以下文件内容写入

       

       启动命令:

       启动agent

       flume-ng agent  \

       --name a1 \

       --conf  $FLUME_HOME/conf/example.conf \

       -Dflume.root.logger=INFO,console

       使用telnet进行测试:telnet   hadoop000 666666             

       ====================================================================

       

       实战二:

           需求:监控一个文件实时采集新增到数据输出到控制台

           需要在home/hadoop/data/ 下创建一个日志事例:data.log

           

           启动命令:

                      

        

六、Flume生产实战

       需求:将A服务器上的日志实时采集到B服务器上

               

   具体实战请就看下一篇文章

发布了48 篇原创文章 · 获赞 49 · 访问量 1874

猜你喜欢

转载自blog.csdn.net/bjniujw1024/article/details/101548382