Flume实战案例 -- 从网卡某个端口采集数据到控制台

  • 需求:配置我们的网络收集的配置文件;从某socket端口采集数据,采集到的数据打印到console控制台

  • 在flume的conf目录下新建一个配置文件(采集方案)

    cd /bigdata/install/flume-1.9.0/conf
    vim netcat-logger.conf
    
  • 内容如下

    # 定义这个agent中各组件的名字
    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1
    
    # 描述和配置source组件:r1
    a1.sources.r1.type = netcat
    # 当前节点的ip地址
    a1.sources.r1.bind = hadoop03
    a1.sources.r1.port = 44444
    
    # 描述和配置sink组件:k1
    a1.sinks.k1.type = logger
    
    # 描述和配置channel组件,此处使用是内存缓存的方式
    a1.channels.c1.type = memory
    # channel中存储的event的最大个数
    a1.channels.c1.capacity = 1000
    # channel每次从source获得的event最多个数或一次发往sink的event最多个数
    a1.channels.c1.transactionCapacity = 100
    
    # 描述和配置source  channel   sink之间的连接关系
    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1
    

    对应类型组件的官网文档

    netcat-tcp-source

    logger-sink

    memory-channel

第三步:启动配置文件
  • 指定采集方案配置文件,在相应的节点上启动flume agent

  • 先用一个最简单的例子来测试一下程序环境是否正常

  • 启动agent去采集数据

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

    -c conf 指定flume自身的conf目录中的配置文件

    -f conf/netcat-logger.con 指定我们所描述的采集方案

    -n a1 指定我们这个agent的名字

    -Dflume.root.logger=INFO,console 将info级别的日志打印到控制台

第四步:安装telent准备测试
  • 在hadoop02机器上面安装telnet客户端,用于模拟数据的发送

    sudo yum -y install telnet
    telnet hadoop03 44444  # 使用telnet模拟数据发送
    
  • 具体结果如下图所示

posted @ 2021-06-19 23:38  Tenic  阅读(453)  评论(0编辑  收藏  举报