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

简介: 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已经完毕!

目录
相关文章
|
1月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
44 1
|
3月前
|
数据采集 存储 Apache
Flume核心组件大揭秘:Agent、Source、Channel、Sink,一文掌握数据采集精髓!
【8月更文挑战第24天】Flume是Apache旗下的一款顶级服务工具,专为大规模日志数据的收集、聚合与传输而设计。其架构基于几个核心组件:Agent、Source、Channel及Sink。Agent作为基础执行单元,整合Source(数据采集)、Channel(数据暂存)与Sink(数据传输)。本文通过实例深入剖析各组件功能与配置,包括Avro、Exec及Spooling Directory等多种Source类型,Memory与File Channel方案以及HDFS、Avro和Logger等Sink选项,旨在提供全面的Flume应用指南。
129 1
|
4月前
|
JavaScript
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
|
6月前
|
Java
java实战项目超市管理系统控制台版
java实战项目超市管理系统控制台版
|
6月前
|
Java
【Java开发指南 | 第二十篇】Java流之控制台
【Java开发指南 | 第二十篇】Java流之控制台
53 2
|
6月前
|
XML 监控 Dubbo
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
|
6月前
|
存储 Java 关系型数据库
景区特色商品管理系统【控制台+MySQL】(Java课设)
景区特色商品管理系统【控制台+MySQL】(Java课设)
55 1
|
6月前
|
存储 Java 关系型数据库
银行储蓄管理系统【控制台+MySQL】(Java课设)
银行储蓄管理系统【控制台+MySQL】(Java课设)
71 1
|
6月前
|
存储 Java 关系型数据库
员工信息管理系统【控制台+MySQL】(Java课设)
员工信息管理系统【控制台+MySQL】(Java课设)
48 0
员工信息管理系统【控制台+MySQL】(Java课设)
|
6月前
|
存储 Java 关系型数据库
教师工资管理系统【控制台+MySQL】(Java课设)
教师工资管理系统【控制台+MySQL】(Java课设)
68 0