Flume入门案例之NetCat-Souces

2023-11-22 02:48

本文主要是介绍Flume入门案例之NetCat-Souces,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是邵奈一,一个不务正业的程序猿、正儿八经的斜杠青年。
1、世人称我为:被代码耽误的诗人、没天赋的书法家、五音不全的歌手、专业跑龙套演员、不合格的运动员…
2、这几年,我整理了很多IT技术相关的教程给大家,爱生活、爱分享。
3、如果您觉得文章有用,请收藏,转发,评论,并关注我,谢谢!
博客导航跳转(请收藏):邵奈一的技术博客导航
| 公众号 | 微信 | CSDN | 掘金 | 51CTO | 简书 | 微博 |


教程目录

  • 0x00 教程内容
  • 0x01 Flume的使用
          • 1. 编写配置文件
          • 2. 安装telnet
          • 3. 校验结果
  • 0x02 简单讲解
          • 1. 流程讲解
          • 2. 组件讲解
          • 3. 其他讲解
  • 0xFF 总结

0x00 教程内容

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

安装Flume,请参考教程:
D009 复制粘贴玩大数据之安装与配置Flume集群
非常简单,一解压就行了!

0x01 Flume的使用

1. 编写配置文件

a. 编写配置文件
cd ~/bigdata/apache-flume-1.8.0-bin

vi conf/example.conf

在这里插入图片描述

a1.sources = r1
a1.sinks = k1
a1.channels = c1a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444a1.sinks.k1.type = logger
a1.channels.c1.type = memorya1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
2. 安装telnet

a. 上传相关rpm包到master
在这里插入图片描述
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

在这里插入图片描述
c. 查看状态:
rpm -q telnet
rpm -q telnet-server
在这里插入图片描述
d. 配置Telnet,修改服务disable为no
sudo vi /etc/xinetd.d/telnet
e. 重启服务(telnet服务是由xinetd守护的)
service xinetd restart
在这里插入图片描述

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

在这里插入图片描述
b. 打开另一终端2

telnet localhost 44444

在这里插入图片描述
然后随便输入内容:
I am shaonaiyi.
在这里插入图片描述
c. 切换回终端1,可以看到我们的结果:
在这里插入图片描述

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或者配置了映射关系的主机名。

否则在使用telnet 192.168.128.132 44444的时候,会报错:

Trying 192.168.128.132...
telnet: connect to address 192.168.128.132: Connection refused

举例:想在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

过程截图:
在这里插入图片描述
slave1也可以收到信息:
在这里插入图片描述

0xFF 总结

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

邵奈一 原创不易,如转载请标明出处,教育是一生的事业。


这篇关于Flume入门案例之NetCat-Souces的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/406932

相关文章

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提