• Flume部署实验


    一、实验介绍

    1.1实验内容

    本实验包括分布式海量日志采集、聚合和传输系统Flume的部署以及flume和Kafka整合实现信息收集传递的实例。

    1.2实验知识点

    Flume部署
    Flume消息收集
    Flume+Kafka整合

    1.3实验环境

    apache-flume-1.8.0
    网易云平台

    1.4实验资源

    资源名称存储目录
    Flume安装包/opt/software/package/

    在这里插入图片描述

    1.5实验步骤清单

    flume安装部署(flume安装、flume验证)

    二、实训架构

    序号IP地址机器名类型
    1172.25.10.140masterflume
    2172.25.10.141slave1flume
    3172.25.10.142slave2flume
    4172.25.10.143slave3flume

    三、实验环境准备

    进入实验列表,找到Flume,点击开启实验,启动master、slave1及salve2,slave3。

    四、实验步骤

    4.1Flume部署

    4.1.1配置hosts文件及zookeeper的myid

    可以参考上篇文章完成Zookeeper集群部署
    #hosts文件末尾加入如下内容(masterip、slave1ip及slave2ip是这三台机器的ip地址
    vim /etc/hosts
    在这里插入图片描述

    #slave1修改为2
    echo 2 >/usr/local/zookeeper/data/myid
    #slave2修改为3
    echo 3 > /usr/local/zookeeper/data/myid
    #slave3修改为4
    echo 4 > /usr/local/zookeeper/data/myid

    #让四台机器profile环境变量生效
    source /etc/profile

    4.1.2安装Flume

    1、在master主机安装Flume软件,解压和重命名Flume软件
    #解压flume包
    tar zxvf /opt/software/package/apache-flume-1.8.0-bin.tar.gz -C /usr/local/

    #重命名flume
    mv /usr/local/apache-flume-1.8.0-bin/ /usr/local/flume/

    #拷贝flume到slave
    scp -r /usr/local/flume root@slave1:/usr/local/
    scp -r /usr/local/flume root@slave2:/usr/local/
    scp -r /usr/local/flume root@slave3:/usr/local/

    2、配置flume agent
    本实验source 使用 necat 类型,sink 采用 file_roll 类型,从监听端口获取数据,保存到本地文件。
    #拷贝配置模板
    cp /usr/local/flume/conf/flume-conf.properties.template /usr/local/flume/conf/flume-conf.properties

    #编辑配置文件
    vim /usr/local/flume/conf/flume-conf.properties

    agent.sources = r1
    agent.channels = c1
    agent.sinks = s1
    # For each one of the sources, the type is defined
    agent.sources.r1.type = netcat
    agent.sources.r1.bind = localhost
    agent.sources.r1.port = 8888
    # The channel can be defined as follows.
    agent.sources.r1.channels = c1
    # Each sink's type must be defined
    agent.sinks.s1.type = file_roll
    agent.sinks.s1.sink.directory = /tmp/log/flume
    #Specify the channel the sink should use
    agent.sinks.s1.channel = c1
    # Each channel's type is defined.
    agent.channels.c1.type = memory
    # Other config values specific to each type of channel(sink or source)
    # can be defined as well
    # In this case, it specifies the capacity of the memory channel
    agent.channels.c1.capacity = 100
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

    #建立输出目录
    mkdir -p /tmp/log/flume

    4.1.3验证Flume

    #启动服务
    /usr/local/flume/bin/flume-ng agent --conf conf -f /usr/local/flume/conf/flume-conf.properties -n agent -Dflume.root.logger=INFO,console
    在这里插入图片描述

    #发送测试数据
    打开新终端执行以下命令
    telnet localhost 8888
    输入:

    hello world!
    hello Flume!
    
    • 1
    • 2

    在这里插入图片描述

    #查看 /tmp/log/flume 目录文件
    ll /tmp/log/flume/
    在这里插入图片描述

    #查看文件内容(查看大小不为空的文件)
    cat /tmp/log/flume/1668671787082-5

    #关闭flume
    在启动flume的终端使用ctrl+c组合键关闭flume进程。

    五、实验总结

    Apache Flume是一个分布式、可靠、可用的系统,用于从大量不同的源有效地收集、聚合、移动大量日志数据进行集中式数据存储。本实验完成了flume的安装验证。

  • 相关阅读:
    贪心算法实例(一):多任务分配问题
    hive拉链表详解
    小白整理了VUEX
    巧记书本结构--思维导图
    MFC Windows 程序设计[224]之双列表拾取器(附源码)
    【luogu AGC034F】RNG and XOR(FWT)
    关于CAS等原子操作,说点别人没说的
    ffplay数据读取线程
    vscode jupyter 如何关闭声音
    Android RadioGroup实现多行显示,并保持单选
  • 原文地址:https://blog.csdn.net/qq_49096000/article/details/127904922