Flume--负载均衡和故障转移

  Flume Sink Processors,source里的event流经channel,进入sink。在sink中可以分组,sink groups允许给一个实体设置多个sinks,sink processors可以使在sink group中所有sink具有负载均衡的能力,或者在一个sink失效后切换到另一个sink的fail over模式

  • 下面来看一下Sink Processors结构图
    Sink Processors 结构图

Flume--集群及项目实战

  本篇博客主要讲解flume集群的搭建及项目实战,flume集群相对来说比较简单,重点是后面的项目实战。如果对flume还不够理解或者它的组件不熟悉可以阅读上篇博客:http://blog.xiaoxiaomo.com/2016/05/22/Flume-日志收集/

Flume 集群

  1. 解压缩 : tar -zxvf apache-flume-1.6.0-bin.tar.gz -C /opt/ ;
  2. 重命名 : mv /opt/apache-flume-1.6.0-bin/ /opt/flume(可省略) ;
  3. 复制配置文件 : cp conf/flume-env.sh.template conf/flume-env.sh ;
  4. 修改conf/flume-env.sh : JAVA_HOME ;
  5. 复制flume到其他节点 : scp -r …… 。

Flume--日志收集

  Flume是一个分布式、高可靠、高可用的日志收集系统。能够有效的收集、聚合、移动大量的日志。把各种类型的数据源采集汇总到各种类型的目的地,flume有一个口号:“我们不生产数据,我们是数据的搬运工。”

  • 那我们怎么去搬运数据呢?让我们想想,那就需要一个入口(采集数据),和一个出口(推送数据),中间再加上一些队列(暂存数据,让数据流动起来),这样一来我们就可以去搬运数据了,自己也可以去实现一个简单的搬运数据的。当然我们已经不需要了,因为大牛已经帮我们实现了就是flume,能采集各种数据(各种source),推动到各种目的地(sink)。下面我们来看看flume的组件结构:
    flume组件

Flume--kafka source启动异常

  • 在flume中配置了一个kafka source的agent。如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    # 使用kafka作为一个sources

    # Name the components on this agent
    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1

    # kfka source
    a1.sources.r1.type = org.apache.flume.source.kafka.KafkaSource
    a1.sources.r1.zookeeperConnect = xxo08:2181,xxo09:2181,xxo10:2181##zk集群
    a1.sources.r1.topic = word
    a1.sources.r1.groupId = flume
    a1.sources.r1.kafka.consumer.timeout.ms = 3000

    # Describe the sink
    a1.sinks.k1.type = logger

    # Use a channel which buffers events in memory
    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100

    # Bind the source and sink to the channel
    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器