Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集 原创

章节内容

上一节我们完成的内容:

  • Flume 简介
  • Flume 组件的介绍
  • Flume 架构、核心组件
  • Flume 下载、安装、配置

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。

  • 2C4G 编号 h121
  • 2C4G 编号 h122
  • 2C2G 编号 h123

在这里插入图片描述
请添加图片描述

文档推荐

除了官方文档以外,这里有一个写的很好的中文文档:
https://flume.liyifeng.org/

HelloWorld

我们要实现一个简单的conf,完成如下的目的:
监听本机 8888 端口,Flume 将监听的数据实时显示在控制台

  • 使用 telnet 工具可以向 8888 端口发送数据
  • 监听端口数据 选择 netcat source
  • Channel 选择 memory
  • 数据实时显示 选择 logger sink

安装工具

如果你已经安装了,可以跳过

sudo apt install telnet

检查端口是否被占用,如果占用了,换一个端口,根据你的实际情况。

lsof -i:8888

配置文件

我的目录都放倒了 flume_test 下,方便我后续的归档。

cd /opt/wzk/flume_test
vim flume-netcat-logger.conf

写入如下的内容:

# a1是agent的名称。source、channel、sink的名称分别为:r1 c1 k1
a1.sources = r1
a1.channels = c1
a1.sinks = k1

# source
a1.sources.r1.type = netcat
# 注意这里的IP的地址!!!!!!!!!!
a1.sources.r1.bind = h122.wzk.icu
a1.sources.r1.port = 8888

# channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 100

# sink
a1.sinks.k1.type = logger
# source、channel、sink之间的关系
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

这里对上述的内容进行一点点介绍:
Memory Channel 是使用内存缓冲 Event 的 Channel 实现。速度比较快速,容量会受到 JVM 内存大小的限制,可靠性不高。
适用于允许丢失数据,但对性能要求较高的日志采集业务。

启动服务

配置完毕后,我们启动服务。

$FLUME_HOME/bin/flume-ng agent --name a1 \
--conf-file flume-netcat-logger.conf \
-Dflume.root.logger=INFO,console

上述的参数解释:

  • name 定义Agent的名字,要与参数文件一致
  • conf-file 指定参数文件位置
  • -D 表示 Flume 运行时动态修改 flume.root.logger 参数属性值,并将控制台日志打印级别设置为INFO。

在这里插入图片描述

发送数据

连接到 8888 进行数据的发送!

telnet h122.wzk.icu 8888

查看结果

Flume收到了消息,可以观察控制台输出
在这里插入图片描述
此时!我们的第一个HelloWorld已经完毕!

posted @   武子康  阅读(0)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示