Flume入门案例之NetCat-Souces

简介: Flume入门案例之NetCat-Souces

0x00 教程内容


  1. Flume的使用
  2. 简单讲解

安装Flume,请参考教程:

D009 复制粘贴玩大数据之安装与配置Flume集群

非常简单,一解压就行了!


0x01 Flume的使用


1. 编写配置文件

a. 编写配置文件

cd ~/bigdata/apache-flume-1.8.0-bin

vi conf/example.conf


image.png


a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1


2. 安装telnet

a. 上传相关rpm包到master


image.png


b. 安装rpm包(按顺序安装)

sudo rpm -ivh xinetd-2.3.14-39.el6_4.x86_64.rpm

sudo rpm -ivh telnet-0.17-47.el6.x86_64.rpm

sudo rpm -ivh telnet-server-0.17-47.el6.x86_64.rpm


image.png


c. 查看状态:

rpm -q telnet

rpm -q telnet-server


image.png


d. 配置Telnet,修改服务disable为no

sudo vi /etc/xinetd.d/telnet

e. 重启服务(telnet服务是由xinetd守护的)

service xinetd restart


image.png


3. 校验结果

a. 在终端1启动(处于待输入状态)

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


image.png


b. 打开另一终端2

telnet localhost 44444


image.png


然后随便输入内容:

I am shaonaiyi.


image.png


c. 切换回终端1,可以看到我们的结果:


微信图片_20220618191535.png


0x02 简单讲解


1. 流程讲解

a. 其实学习Flume,就是在学习如何配置,需要多看一下官网,版本不同,配置也会有所区别,如果操作不成功,很可能是配置文件写错了。


b. 配置文件主要有四部分:

source、channel、sink,还有将组件连接起来


2. 组件讲解

a. Source

此处是netcat类型,官网其实还有netcatudp


b. Channel

此处是memory类型


c. Sink

此处是输出到控制台


3. 其他讲解

a. 输出日志的方式

执行时添加下面这个参数,是指定输入信息到控制台,如果不加,会默认将日志输入到logs文件夹:

-Dflume.root.logger=INFO,console


b. 配置文件注意事项

这里可以使用多节点操作,比如说在slave1中启动flume,在master上执行telnet也可以。


但有个点需要特别注意:

如果flume配置文件里绑定的主机是localhost,即本地主机,则无法进行多节点操作:

a1.sources.r1.bind = localhost

如果想要多节点,应该将localhost,修改成ip或者配置了映射关系的主机名。


举例:想在master发送信息,然后让slave1接收,则master可以执行:

telnet 192.168.128.132 44444

或者

telnet slave1 44444

而slave1则相对于地应该是:

a1.sources.r1.bind = 192.168.128.132

或者

a1.sources.r1.bind = slave1


过程截图:


image.png


slave1也可以收到信息:


image.png


0xFF 总结


自行了解event的结构

安装好后,就可以与Kafka、HDFS等结合操作了

其实,如果你配置好了JAVA_HOME等环境变量,flume直接解压就可以使用了,即不修改配置文件(flume-env.sh.template)也是可以的。如果到目前为止,flume其实就只是写了个配置文件而已,如果发现自己在操作的时候错了,极大一个可能就是配置文件写错了,回去看看配置文件有什么问题。


相关文章
|
7月前
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
7月前
|
消息中间件 存储 监控
Flume+Kafka整合案例实现
Flume+Kafka整合案例实现
143 1
|
数据采集 缓存 监控
Apache Flume-案例-监控采集文件夹变化 (exec source)|学习笔记
快速学习 Apache Flume-案例-监控采集文件夹变化 (exec source)
Apache Flume-案例-监控采集文件夹变化 (exec source)|学习笔记
|
7月前
|
XML 数据格式
Flume【付诸实践 01】flume1.9.0版 配置格式说明+常用案例分享(ExecSource+SpoolingDirectorySource+HDFSSink+AvroSourceSink)
【2月更文挑战第19天】Flume【付诸实践 01】flume1.9.0版 配置格式说明+常用案例分享(ExecSource+SpoolingDirectorySource+HDFSSink+AvroSourceSink)
145 1
|
7月前
|
消息中间件 存储 数据采集
bigdata-11-Flume入门与部署
bigdata-11-Flume入门与部署
79 0
|
SQL 分布式计算 监控
Flume学习--1、Flume概述、Flume入门、(一)
Flume学习--1、Flume概述、Flume入门、(一)
|
7月前
|
消息中间件 存储 SQL
Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
【2月更文挑战第18天】Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
1959 0
|
7月前
|
数据可视化 JavaScript 关系型数据库
基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(五)FineBI可视化
基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(五)FineBI可视化
135 0
|
7月前
|
SQL 消息中间件 关系型数据库
基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(四)实时计算需求及技术方案
基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(四)实时计算需求及技术方案
212 0
|
7月前
|
SQL 消息中间件 分布式数据库
基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(三)离线分析
基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(三)离线分析
132 0

相关实验场景

更多