Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复

目录

安装包

flume的部署

负载均衡测试

故障恢复


安装包

在这里给大家准备好了flume的安装包

通过网盘分享的文件:apache-flume-1.9.0-bin.tar.gz
链接: https://pan.baidu.com/s/1DXMA4PxdDtUQeMB4J62xoQ 提取码: euz7 
--来自百度网盘超级会员v4的分享

-----------------------------------------------------------------------------------------------

大家自行下载。那么正片开始。

flume的部署

首先,我们切换到software目录

cd /export/software

使用rz命令上传安装包

上传完成后,解压缩安装包道,servers目录

tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /export/servers

解压缩完成之后!

切换到servers目录

cd /export/servers

之后,我们进行一个重命名的大动作。

mv apache-flume-1.9.0-bin flume

ok,fine,一切完成之后,让我们切换到conf目录

cd /export/servers/flume/conf

切换完成之后,开始进行下一步,

复制一下文件。

cp flume-env.sh.template  flume-env.sh 

完成之后,我们输入ll,查看一下自己是不是安装成功了。

之后我们输入。

vi flume-env.sh

进入文件,然后输入shift + g

到达文件底部,最后贴入自己java的环境变量。

export JAVA_HOME=/export/servers/jdk

大家根据自己的实际情况来进行修改哈,如果不知道自己的java环境变量是什么的话,可以冒号wq保存退出之后,在命令行输入·

vi /etc/profile

然后使用shift+g到达文件底部。

查看一下自己的环境变量,再复制粘贴到刚才的文件里。

看到这里首先不要着急的去复制。

来都来了,我们顺手配置一下flume的环境变量。

export FLUME_HOME=/export/servers/flume
export PATH=$FLUME_HOME/bin:$PATH

OK,配置完成之后,我们esc保存退出。

之后让我们来分发一下Flume吧。

scp -r /export/servers/flume/  hadoop02:/export/servers/
scp -r /export/servers/flume/  hadoop03:/export/servers/

现在你已经分发完flume了,那么接下来我们再分发一下环境变量。

scp -r /etc/profile hadoop02:/etc/
scp -r /etc/profile hadoop02:/etc/

分发完hadoop02和hadoop03环境变量,接下来我们需要分别在hadop02,和hadoop03上输入

soruce /etc/profile

来令环境变量生效。

接下来我们测试一下hadoop01的哦配置效果、

切换到hadoop01的data目录下

cd /export/data

切换完成之后,执行

netcat-logger.conf

复制下面的内容带哦文件里

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.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

输入完成之后保存退出。

输入下面的命令看下效果。

 flume-ng agent --name a1 --conf conf/ --conf-file /export/data/netcat-logger.conf -Dflume.root.logger=INFO,console

出现下面的页面,就算是成功了。

,那么让我们再次打开一个hadoop01窗口,开始进行一些操作

打开另一个窗口之后,我们

yum -y install telnet

下载一个telnet包

下载完成之后,连接一下44444端口

telnet localhost 44444

然后另一边

日志采集到这里就算是完成了。

接下来使用ctrl+c退出进行下一步。两个窗口都ctrl+c,然后随便关闭一个。

都干完之后,我们来到hadop01的flume的conf目录

cd /export/servers/flume/conf

输入

vi exec-avro.conf

然后粘贴下面的内容,粘贴完成之后,保存退出。

a1.sources  =  r1
a1.sinks = k1 k2
a1.channels = c1
a1.sources.r1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /export/data/123.log
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.sinks.k1.channel = c1
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = hadoop02
a1.sinks.k1.port = 53421
a1.sinks.k2.channel = c1
a1.sinks.k2.type = avro
a1.sinks.k2.hostname = hadoop03
a1.sinks.k2.port = 53421
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = load_balance
a1.sinkgroups.g1.processor.backoff = true
a1.sinkgroups.g1.processor.selector = random
a1.sinkgroups.g1.processor.maxTimeOut=10000

输入完成之后,我切换搭配hadoop02的conf目录下

vi avro-logger1.conf

染的时候输入下面的内容

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop02
a1.sources.r1.port = 53421
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
 

完成之后,切换到hadoop03的虚拟机

同样是切换目录

vi avro-logger2.conf

切换完成之后,我们输入下面的内容

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop03
a1.sources.r1.port = 53421
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

配置完成之后,我们在hadoop02上执行下面的命令,来启动agent

flume-ng agent --name a1 --conf conf/ --conf-file  avro-logger1.conf -Dflume.root.logger=INFO,console

完成之后切换到hadoop03,执行下面的命令

flume-ng agent --name a1 --conf conf/ --conf-file  avro-logger2.conf -Dflume.root.logger=INFO,console

下面放上hadoop01和hadoop02启动成功的画面

之后,我们切换回hadoop01

切换到conf目录

cd /export/servers/flume/conf

之后输入下面的命令

flume-ng agent --name a1 --conf conf/ --conf-file exec-avro.conf -Dflume.root.logger=INFO,console

启动成功之后如下图所示。

ok,一切完成之后,我们开始一个负载均衡测试。

负载均衡测试

我们再次打开一个hadop01的窗口

像data目录下写入,flume flume...

下面的命令每隔两秒会向日志追加一条flume flume...

while true;do echo "flume flume..." >> /export/data/123.log;sleep 2;done

hadoop01和hadoop03会如下图所示

接下来我们就可以开心的开始下一项’

故障恢复

下面文件里的内容,一定要和自己的主机名搭配起来!!!!

来到hadoop01的conf目录下

cd /export/servers/flume/conf

输入

vi exec-avro-failover.conf

输入下面的内容

a1.sources = r1
a1.sinks = k1 k2
a1.channels = c1
a1.sources.r1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /export/data/456.log
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.sinks.k1.channel = c1
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = hadoop02
a1.sinks.k1.port = 53422
a1.sinks.k2.channel = c1
a1.sinks.k2.type = avro
a1.sinks.k2.hostname = hadoop03
a1.sinks.k2.port = 53422
a1.sinkgroups = g1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinkgroups.g1.processor.type = failover
a1.sinkgroups.g1.processor.priority.k1 = 5
a1.sinkgroups.g1.processor.priority.k2 = 10
a1.sinkgroups.g1.processor.maxpenalty = 10000

那么好 ,接下来切换到hadoop02

vi avro-logger3.conf

写入以下内容

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop02
a1.sources.r1.port = 53422
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

然后wq保存退出

那么再切换到hadoop03

vi avro-logger4.conf

写入下面的内容

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop03
a1.sources.r1.port = 53422
a1.sinks.k1.type = logger
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

接下来切换到hadoop02,输入

flume-ng agent --name a1 --conf conf/ --conf-file  avro-logger3.conf -Dflume.root.logger=INFO,console

接下来切换到hadoop03

flume-ng agent --name a1 --conf conf/ --conf-file  avro-logger4.conf -Dflume.root.logger=INFO,console

接下来切换到hadoop01的conf目录下。

cd /export/servers/flume/conf
flume-ng agent --name a1 --conf conf/ --conf-file  exec-avro-failover.conf -Dflume.root.logger=INFO,console

全部启动成功之后,我们切换到

hadoop01就可以提开始发挥了

while true;do echo "flume flume..." >> /export/data/456.log;sleep 2;done

音位hadoop03的优先级会比hadoop02高

所以是hadoop03会比hadoop02先写入日志

这个时候,就要及时止损,

ctrl+c退出,静等一会儿,你就会发现

hadoop02上出现了hadoop03上终止的信息。日志记录不会被停止‘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/61717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B站直播模块解读——MVVM类似物

Model层: 数据类及其Converter Service接口lmpl实现类 (1)Scoket广播接受服务端下发数据 或在repository类中还是利用Socket广播 (2)业务接口接收服务端下发数据 将所有Service实现类注入LiveAppServiceManager统一管理 ViewModel层: ViewModel从LiveAppService…

Hive基础面试-如何理解复用率的

1. 模型的复用率你们是怎么做的? 简单直白的说就是你的模型复用率如何,在业务方是否认可该模型,也是衡量模型建设的一个标准,复用率数:数仓模型涉及的核心是追求模型的复用和共享,引用系数越高,…

eduSRC挖洞思路

声明 学习视频来自 B 站UP主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 ✍🏻作者简介:致…

Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计

概述 Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计,探索 RISC-V Vector1.0 的前沿技术,选择嘉楠科技的 Canmv K230D Zero 开发板。这款创新的开发板是由嘉楠科技与香蕉派开源社区联合设计研发,搭载了先进的勘智 K230D 芯片。 K230…

昆山网站建设在移动互联网时代的作用

在当今的移动互联网时代,昆山网站建设的重要性愈加凸显。随着智能手机和移动设备的普及,用户获取信息和进行消费的方式发生了根本性的变革。企业在此背景下,必须重新审视自己的在线形象和运营策略,以适应这一变化带来的挑战和机遇…

接上一主题,C++14中如何设计类似于std::any,使集合在C++中与Python一样支持任意数据?

这篇文章的重点是C多态的应用,但是如果你是C新手, 你需要了解以下C知识: 类 构造函数 拷贝构造函数 虚拟函数 纯虚拟函数 析构函数 类的继承 运算符重写 模板类 模板参数 数组 数组的传递 指针与动态内存分配 Python: s …

SpringBoot3与JUnit5集成测试

你可以在 Spring Boot 3 中轻松设置和运行 JUnit 集成测试。合理使用 Spring 提供的注解和工具,可以确保测试的高效性和可靠性。以下是集成测试的步骤和示例: 1. 添加依赖 在 pom.xml 中添加 Spring Boot Starter Test 依赖,它包含 JUnit 5 …

5.STM32之通信接口《精讲》之USART通信---实验串口接收程序

根据上节,我们一已经完成了串口发送程序的代码,并且深入的解析探索了串口的原理,接下来,Whappy小编将带领大家进入串口接收程序的探索与实验,并将结合上一节串口发送一起来完成串口的发送和接收实验。 上来两张图 上图…

微服务即时通讯系统的实现(服务端)----(1)

目录 1. 项目介绍和服务器功能设计2. 基础工具安装3. gflags的安装与使用3.1 gflags的介绍3.2 gflags的安装3.3 gflags的认识3.4 gflags的使用 4. gtest的安装与使用4.1 gtest的介绍4.2 gtest的安装4.3 gtest的使用 5 Spdlog日志组件的安装与使用5.1 Spdlog的介绍5.2 Spdlog的安…

数字IC后端实现时钟树综合系列教程 | Clock Tree,Clock Skew Group之间的区别和联系

Q: Clock,Clock Tree和Skew Group有何区别?Innovus CCOPT引擎是如何使用这些的? Clock是时序约束SDC中的时钟定义点。 create_clock -name clk_osc -period $period_24m [get_ports xin_osc0_func] 时钟树综合(Clock Tree Synthesis)之前应…

tcpdump抓包 wireShark

TCPdump抓包工具介绍 TCPdump,全称dump the traffic on anetwork,是一个运行在linux平台可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具。 tcpdump可以支持的功能: 1、在Linux平台将网络中传输的数据包全部捕获过来进行分析 2、支持网络层…

青少年编程等级考试C++一级,硬币反转问题

代码 #include<iostream>using namespace std;bool a[300];int main(){ int n,m; cin >> n >> m; for(int i 1;i < m;i) { for (int j 1;j < n;j) { if( j % i 0) { a[j] !a[j];…

【Qt流式布局改造支持任意位置插入和删除】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、源代码二、删除代码三、扩展总结 前言 最近在做一个需求需要流式布局&#xff0c;虽然官方example里有一个流式布局范例&#xff0c;但是不能满足我的需求…

“AI玩手机”原理揭秘:大模型驱动的移动端GUI智能体

作者&#xff5c;郭源 前言 在后LLM时代&#xff0c;随着大语言模型和多模态大模型技术的日益成熟&#xff0c;AI技术的实际应用及其社会价值愈发受到重视。AI智能体&#xff08;AI Agent&#xff09;技术通过集成行为规划、记忆存储、工具调用等机制&#xff0c;为大模型装上…

小R的二叉树探险 | 模拟

问题描述 在一个神奇的二叉树中&#xff0c;结构非常独特&#xff1a; 每层的节点值赋值方向是交替的&#xff0c;第一层从左到右&#xff0c;第二层从右到左&#xff0c;以此类推&#xff0c;且该二叉树有无穷多层。 小R对这个二叉树充满了好奇&#xff0c;她想知道&#xf…

Unity类银河战士恶魔城学习总结(P141 Finalising ToolTip优化UI显示)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址&#xff1a;https://www.udemy.com/course/2d-rpg-alexdev/ UI部分暂时完结&#xff01;&#xff01;&#xff01; 本章节优化了UI中物品描述的显示效果&#xff0c;技能描述的显示效果 并且可以批…

windows实现VNC连接ubuntu22.04服务器

最近弄了一个700块钱的mini主机&#xff0c;刷了ubuntu22.04系统&#xff0c;然后想要在笔记本上通过VNC连接&#xff0c;这样就有了一个linux的开发环境。最后实现的过程为&#xff1a; 安装vnc服务器 安装 VNC 服务器软件&#xff1a; sudo apt update sudo apt install t…

Perforce《2024游戏技术现状报告》Part3:生成式AI、版本控制、CI/CD等游戏技术的未来趋势与应用

游戏开发者一直处于创新前沿。他们的实践、工具和技术受到各行各业的广泛关注&#xff0c;正在改变着组织进行数字创作的方式。 近期&#xff0c;Perforce发布了《2024游戏技术现状报告》&#xff0c;通过收集来自游戏、媒体与娱乐、汽车和制造业等高增长行业的从业者、管理人…

初阶数据结构之队列的实现

1 队列的定义 什么是队列呢&#xff1f;队列只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作。队列具有先进先出FIFO(First In First Out)的特性。 队头&#xff1a;删除数据的一端称为队头。 队尾&#xff1a;插入数据的一端称为队尾。 2 队列底层结构…

阿里云私服地址

1.解压apache-maven-3.6.1-bin 2.配置本地仓库&#xff1a;修改conf/dettings.xml中的<localReoisitory>为一个指定目录。56行 <localRepository>D:\apache-maven-3.6.1-bin\apache-maven-3.6.1\mvn_repo</localRepository> 3.配置阿里云私服&#xff1a;…