(二十二)大数据实战——Flume数据采集之故障转移案例实战

news/2024/10/22 7:15:25/

前言

本节内容我们完成Flume数据采集的故障转移案例,使用三台服务器,一台服务器负责采集nc数据,通过使用failover模式的Sink处理器完成监控数据的故障转移,使用Avro的方式完成flume之间采集数据的传输。整体架构如下:

正文

①在hadoop101服务器的/opt/module/apache-flume-1.9.0/job目录下创建job-nc-flume-avro.conf配置文件,用于监控nc并传输到avro sink

- job-nc-flume-avro.conf配置文件

# Name the components on this agent
a1.sources = r1
a1.channels = c1
a1.sinkgroups = g1
a1.sinks = k1 k2
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
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
# Describe the sink
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = hadoop102
a1.sinks.k1.port = 4141
a1.sinks.k2.type = avro
a1.sinks.k2.hostname = hadoop103
a1.sinks.k2.port = 4142
# Describe the channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinkgroups.g1.sinks = k1 k2
a1.sinks.k1.channel = c1
a1.sinks.k2.channel = c1

②在hadoop102服务器的/opt/module/apache-flume-1.9.0/job目录下创建job-avro-flume-console102.conf配置文件,用于监控avro source数据到控制台

 - job-avro-flume-console102.conf配置文件

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop102
a1.sources.r1.port = 4141
# Describe the sink
a1.sinks.k1.type = logger
# Describe the channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

③ 在hadoop103服务器的/opt/module/apache-flume-1.9.0/job目录下创建job-avro-flume-console103.conf配置文件,用于监控avro source数据到控制台

- job-avro-flume-console103.conf配置文件

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = avro
a1.sources.r1.bind = hadoop103
a1.sources.r1.port = 4142
# Describe the sink
a1.sinks.k1.type = logger
# Describe the channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

④启动hadoop102上的flume任务job-avro-flume-console102.conf

- 命令:

bin/flume-ng agent -c conf/ -n a1 -f job/job-avro-flume-console102.conf -Dflume.root.logger=INFO,console

⑤启动hadoop103上的flume任务job-avro-flume-console103.conf 

- 命令:

bin/flume-ng agent -c conf/ -n a1 -f job/job-avro-flume-console103.conf -Dflume.root.logger=INFO,console

⑥启动hadoop101上的flume任务job-nc-flume-avro.conf

- 命令:

bin/flume-ng agent -c conf/ -n a1 -f job/job-nc-flume-avro.conf -Dflume.root.logger=INFO,console

⑦使用nc向本地44444监控端口发送数据

 - 由于hadoop103中的sink avro优先级高于hadoop102中的sink avro,故hadoop103接收到了nc发送的数据

- 此时将hadoop103中的flume任务停止,继续通过nc发送数据,hadoop102的sink avro替换hadoop103中的flume任务继续接收数据打印到控制台

- 此时在将hadoop103中的flume监控恢复,继续通过nc发送数据,数据继续通过hadoop103中的sink avro接收数据

结语

至此,关于Flume数据采集之故障转移案例实战到这里就结束了,我们下期见。。。。。。


http://www.ppmy.cn/news/1099122.html

相关文章

C++动态内存管理+模板

💓博主个人主页:不是笨小孩👀 ⏩专栏分类:数据结构与算法👀 C👀 刷题专栏👀 C语言👀 🚚代码仓库:笨小孩的代码库👀 ⏩社区:不是笨小孩👀 🌹欢迎大…

Day58|leetcode 739. 每日温度、496.下一个更大元素 I

今天开始单调栈! leetcode 739. 每日温度 题目链接:739. 每日温度 - 力扣(LeetCode) 视频链接:单调栈,你该了解的,这里都讲了!LeetCode:739.每日温度_哔哩哔哩_bilibili 题目概述 …

cache 学习

好文章: Cache的基本原理 - 知乎

OpenRoads Designer道路旁添加公交车停车区

在道路工程建模时如果需要在路旁添加公交车停车区,如下图所示,可通过对道路轴线进行局部偏移的方式实现。 在道路旁添加如上图所示的公交车停车区操作步骤: 1、使用Geometry下的Single Offset Partial将路线中的一段进行偏移: 参数…

uniapp 手机 真机测试 ​ 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可​

uniapp 手机 真机测试 打开手机 找到手机的 版本号 点击 知道提示 (启动开发者模式) 然后 在进行usb的连接打开 运行uniapp 到手机基台 手机确认 即可 四, 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可

macos 不支持svn安装

macos 10.13可能不支持svn命令,所以要安装 xcode-select --install 弹窗在线安装失败的话只能手动下载安装 打开:Sign In - Apple 搜索Command Line Tools (macOS 10.13) 下载9.4.1版本直接安装后即可

SpringMVC_执行流程

四、SpringMVC执行流程 1.SpringMVC 常用组件 DispatcherServlet:前端控制器,用于对请求和响应进行统一处理HandlerMapping:处理器映射器,根据 url/method可以去找到具体的 Handler(Controller)Handler:具体处理器(程…

pc端字体为什么到12像素以后不生效

pc端字体为什么到12像素以后不生效&#xff1f; 因为谷歌浏览器默认的最小字体是12像素&#xff0c;如果去‘设置’里面修改最小字体&#xff0c;是可以达到修改效果的&#xff0c;但是&#xff0c;你不能解决用户的浏览器设置 解决办法如下 <p class"font">…