大数据数据采集 Apache-Flume 笔记

1 Flume 安装部署

1.1 官网地址

  • Flume官网地址:http://flume.apache.org/
  • 文档查看地址:http://flume.apache.org/FlumeUserGuide.html
  • 下载地址:http://archive.apache.org/dist/flume/

1.2 安装部署

  1. 将apache-flume-1.10.1-bin.tar.gz上传到linux的/opt/software目录下

  2. 解压apache-flume-1.10.1-bin.tar.gz到/opt/module/目录下

    tar -zxvf /opt/software/apache-flume-1.10.1-bin.tar.gz -C /opt/module/
    
  3. 修改apache-flume-1.10.1-bin的名称为flume

    mv /opt/module/apache-flume-1.10.1-bin /opt/module/flume
    
  4. 修改conf下的log4j2.xml确定日志打印的位置,在53行后插入

    <!--53       <AppenderRef ref="LogFile" /> -->
    
    54       <AppenderRef ref="Console" />
    

2 Flume 入门案例

2.1 监控端口数据官方案例

1)案例需求

使用Flume监听一个端口,收集该端口数据,并打印到控制台

2)实现步骤

  1. 安装netcat工具

    yum install -y nc
    
  2. 判断44444端口是否被占用

    netstat -nlp | grep 44444
    
  3. 在conf文件夹下创建Flume Agent配置文件nc-flume-log.conf。

    vim nc-flume-log.conf
    
  4. 在nc-flume-log.conf文件中添加如下内容。

    # agent中组件的定义(a1是agent的名字)
    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1
    
    # source组件的说明
    #用来定义source的类型--Netcat TCP Source(读取网络数据)
    a1.sources.r1.type = netcat
    #监听的主机的地址
    a1.sources.r1.bind = 0.0.0.0
    #监听的端口号
    a1.sources.r1.port = 44444
    
    
    #Sink组件的说明
    #用来定义sink组件的类型-LoggerSink(用来将数据输出到控制台)
    a1.sinks.k1.type = logger
    
    # Channel组件的说明
    #定义channel组件的类型(MemoryChannel-将数组存储到内存)
    a1.channels.c1.type = memory
    #channel的容量(event的数量)
    a1.channels.c1.capacity = 1000
    #事务的容量(注意:transactionCapacity <= capacity)
    a1.channels.c1.transactionCapacity = 100
    
    # 用来说明(关联)各组件的关系
    #r1这个source对应的是哪个channel(哪个source组件读取的数据写到哪个channel中)
    a1.sources.r1.channels = c1
    #k1这个sink对应的是哪个channel(哪个sink组件读取的数组来自于哪个channel中)
    a1.sinks.k1.channel = c1
    
  5. 先开启flume监听端口

    第一种方式:

    flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template  -Dflume.root.logger=INFO,console
    

    第二种方式:

    flume-ng agent --conf conf --conf-file example.conf --name a1  -Dflume.root.logger=INFO,console
    

    参数说明:

    ​ --conf/-c:表示配置文件存储在conf/目录

    ​ --name/-n:表示给agent起名为a1

    ​ --conf-file/-f:flume本次启动读取的配置文件是在conf文件夹下的nc-flume-log.conf文件。

    ​ -Dflume.root.logger=INFO,console :-D表示flume运行时动态修改flume.root.logger参数属性值,并将控制台日志打印级别设置为INFO级别。日志级别包括:log、info、warn、error。日志参数已经在配置文件中修改了,不再需要重复输入。

  6. 使用netcat工具向本机的44444端口发送内容

    nc localhost 44444
    
  7. 在Flume监听页面观察接收数据情况

    Event: { headers:{} body: 31 30                                           10 }
    
  8. event打印的源码介绍

    LoggerSink的process方法:

    if (event != null) {
        if (logger.isInfoEnabled()) {
            logger.info("Event: " + EventHelper.dumpEvent(event, maxBytesToLog));
        }
    }
    

    dumpEvent方法返回值:buffer是固定长度的字符串,前端是16进制表示的字符的阿斯卡码值。

    return "{ headers:" + event.getHeaders() + " body:" + buffer + " }";
    

  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Apache Flume是基于数据流的分布式系统,专门用于从各种非结构化数据源收集,聚合和移动大量数据,它支持多种数据源的连接和数据交付到多种数据存储库。该软件是Apache软件基金会下的一个顶级项目,它是一个稳定、高效和可靠的工具,可以帮助企业实现数据的有效管理和分析。 apache-flume-1.9.0-bin.tar.gz下载是通过Apache官网提供的链接来进行下载的。下载完成后需要进行安装和相关配置,以便能够与其他数据源进行连接和数据交付。该软件的安装和配置较为复杂,需要具备一定的计算机技能和数据管理知识。 下载完成后,用户需要解压该文件,并在用户设置的文件夹中配置flume-env.sh和flume.conf文件。配置后,即可启动Flume服务,进行数据的收集和聚合操作。在使用过程中,用户可以根据实际需要,选择不同的数据源和文件存储方式,以满足企业数据管理和分析的需求。 总之,Apache Flume是一个强大的数据管理和分析工具,具有广泛的应用和丰富的功能。但在使用前,用户需要详细了解该软件的安装和配置过程,并具备一定的技能和知识储备,以确保其能够正确地使用和操作。 ### 回答2: Apache Flume是一个分布式、可靠、高效的数据采集、聚合和传输系统,在数据处理中应用广泛。而apache-flume-1.9.0-bin.tar.gz则是Apache Flume的官方发布版本,其中bin表示此版本是可执行程序,tar.gz是一种压缩格式。 要下载apache-flume-1.9.0-bin.tar.gz,首先需要前往Apache Flume的官网,然后找到下载页面。在下载页面中可以选择下载镜像站点以及下载apache-flume-1.9.0-bin.tar.gz的链接。用户可以根据自己的网络情况、所在地区等因素选择镜像站点并点击相应的链接进行下载。 下载完成后,用户可以使用解压软件将apache-flume-1.9.0-bin.tar.gz解压到任何想要安装的目录中。解压完成后,在bin目录下可以找到flume-ng的可执行文件,即可尝试运行Flume。 值得注意的是,Apache Flume是一个开源项目,因此用户可以访问其源代码,也可以参与到项目的开发中来。该软件的最新版本、文档等信息也可在官网上获得。 ### 回答3: Apache Flume是一款优秀的分布式高可靠日志收集与聚合工具,可以将数据从各种不同的数据源采集并集中到集中式的Hadoop数据仓库中。而Apache Flume 1.9.0-bin.tar.gz是Apache Flume的最新版本程序包,包含了Flume各种组件的可执行文件、示例配置文件、JAVA API等组件。 如果要下载Apache Flume 1.9.0-bin.tar.gz,可以先访问Apache Flume的官网,找到需要下载的地方,可以选择使用浏览器直接下载或使用命令行工具wget下载到本地,解压缩后将Flume各个组件配置好后就可以使用了。 需要注意的是,安装Apache Flume还需要为其配置相应的环境(例如配置JDK环境变量等),并进行一些必要的安全设置。而且对于不同的数据源与Hadoop生态系统版本,Apache Flume部署和配置也会略有不同。因此,在使用过程中,应该先学习Apache Flume的相关知识,并根据情况灵活应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值