zoukankan      html  css  js  c++  java
  • flume的使用

    flume包括三部分:
    source(理解为接收器)接受监听到的数据
    channel(数据传输通道)
    sink(发送器)把souce传递过来的数据再往下游传递——hadoop hdfs(数据存储)

    数据采集案例
    1 使用flume来监听端口,当端口中有数据产生时,flume获取该数据并打印到控制台

    端口8888 写数据hello ,flume监听变化 ,打印到控制台,显示hello

    [root@master ~]# vim /etc/profile

    #flume配置
    export FLUME_HOME=/home/wj/apache/apache-flume-1.8.0-bin/
    export PATH=$PATH:$FLUME_HOME/bin

    source /etc/profile

    同时修改conf/flume-env.sh  文件中的JDK目录

    编写脚本
    flume脚本的构成:1)指定当前数据采集框架的实例名称,如a1
    2)指定source组件的详细参数 netcat a1.sources.r1.bind = 192.168.9.26
    如何查看当前虚拟机ip:ifconfig
    3)指定channel组件的详细参数
    基于内存的传输
    4)指定sink组件的详细参数
    a1.sinks.k1.type = logger
    5)将flume的三个组件进行整合

    vim flume1.conf 监听一个端口8888

    ############################################################
    # 1、命名:一个agent(进程)内各角色别名:a1
    ############################################################
    #sources别名:r1
    a1.sources = r1 
    #sink别名:k1
    a1.sinks = k1
    #channel别名:c1
    a1.channels = c1

    ############################################################
    # 2、source参数配置:
    ############################################################
    #source类型:netcat,监听,将流经端口的每一个文本行数据作为Event输入
    a1.sources.r1.type = netcat
    #监听的主机ip:
    a1.sources.r1.bind = 主机名
    #监听的端口:
    a1.sources.r1.port = 8888

    ############################################################
    # 3、channel参数配置:
    ############################################################
    #channel类型:
    a1.channels.c1.type = memory
    #默认该通道中最大的可以存储的event数量是1000
    a1.channels.c1.capacity = 1000
    #每次最大可以source中拿到或者送到sink中的event数量也是100
    a1.channels.c1.transactionCapacity = 100

    ############################################################
    # 4、channel参数配置:
    ############################################################
    #sink类型:以日志的方式输出
    a1.sinks.k1.type = logger

    ############################################################
    # 5、集成一个agent当中的各个角色:
    ############################################################
    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1

    保存退出 :wq

    cat flume.conf可查看

    Xshell点击旧窗口复制会话,在新窗口灌入数据

    练习:监听端口,捕获数据,打印到控制台

    1)下载软件命令
    yum install -y telnet从互联网下载指定软件telnet到当前Liux系统

    2)回主窗口输入运行命令
    [root@node1 ~]# flume-ng agent -n a1 -c conf -f flume1.conf -D flume.root.logger=INFO.console
    运行flume脚本
    3)切回新窗口,打开8888端口,灌入数据[root@node1 ~]# telnet 192.168.9.26 8888

    [root@node1 ~]# telnet 192.168.9.26 8888
    Trying 192.168.9.26...
    Connected to 192.168.9.26.
    Escape character is '^]'.
    keda
    OK
    taiyuankeji
    OK

  • 相关阅读:
    http基础知识总结
    unittest单元测试流程
    python测试框架nose
    HTML,CSS,JS之间的关系
    无法远程连接mysql,连接后也没有权限创建数据库
    Android 导入导出CSV,xls文件 .
    Android Sqlite 导入CSV文件 .
    用java开发的网站或者程序
    111个知名Java项目集锦,包括url和描述
    Ruby简介,附带示例程序
  • 原文地址:https://www.cnblogs.com/aprilwang/p/10957843.html
Copyright © 2011-2022 走看看