kafka集群的错误处理--kafka一个节点挂了,导致消费失败
今天由于kafka集群搭建时的配置不当,由于一台主消费者挂掉(服务器崩了,需要维修),导致了所有新版消费者(新版的offset存储在kafka)都无法拉取消息。
由于是线上问题,所以是绝对不能影响用户的,使用老版客户端(offset存储在zk)进行消费,然后将kafka迁移到备用服务。
下面来说一下这次事故的具体处理思路
- 首先要确保获取到的消息不能丢失,所以老版消费者进行消费
- 线上服务通过均衡负载一台一台的进行切换kafka服务,当原生产者数据都消费完时,将消费者切换到备用服务
- 开始配置线上kafka服务
主要做了如下修改
offsets.topic.replication.factor=3
设置副本数量为3,这样当一台消费者宕机时,其他消费者也可以进行消费
为了使topic可以进行复制副本,这里采用了比较粗暴的方法,直接清空topic和offset
分为以下几个步骤
./zookeeper-shell.sh 127.0.0.1:24500
rmr /brokers/topics/topic-name
rmr /config/topics/topic-name
rmr /admin/delete_topics/topic-name
此时已经将topic完全删除,然后进行topic的新建
bin/kafka-topics --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic topic-name
这时可以启动生产者和消费者进行查看,已经不再出现一开始的异常
Connection to node -1 could not be established. Broker may not be available.
这时我进行了测试,对三台broker中的任意一台进行下线,服务会自动选择其他节点进行生产和消费。
作者:Stalary
链接:https://www.jianshu.com/p/afa462ffc1ae
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
kafka集群的错误处理--kafka一个节点挂了,导致消费失败的更多相关文章
- Kafka集群安装部署、Kafka生产者、Kafka消费者
Storm上游数据源之Kakfa 目标: 理解Storm消费的数据来源.理解JMS规范.理解Kafka核心组件.掌握Kakfa生产者API.掌握Kafka消费者API.对流式计算的生态环境有深入的了解 ...
- Kafka集群监控工具之二--Kafka Eagle
基于kafka: kafka_2.11-0.11.0.0.tgz kafka-eagle-bin-1.2.1.tar.gz 1.下载解压 tar -zxvf kafka-eagle-bin-1.2.1 ...
- Kafka集群的安装和使用
Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,原本开发自LinkedIn,用作LinkedIn的活动流(ActivityStream)和运营数据处理管道(Pipeline)的基础.现在它已被 ...
- Ubuntu下kafka集群环境搭建及测试
kafka介绍: Kafka[1是一种高吞吐量[2] 的分布式发布订阅消息系统,有如下特性: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能 ...
- kafka集群原理介绍
目录 kafka集群原理介绍 (一)基础理论 二.配置文件 三.错误处理 kafka集群原理介绍 @(博客文章)[kafka|大数据] 本系统文章共三篇,分别为 1.kafka集群原理介绍了以下几个方 ...
- kafka集群操作指南
目录 kafka集群操作指南 (一)单机版安装 (二)集群安装 (三)集群启停操作 (四)topic相关的操作 (五)某个broker挂掉,本机器可重启 (六)某个broker挂掉且无法重启,需要其它 ...
- Centos7.5安装kafka集群
Tags: kafka Centos7.5安装kafka集群 Centos7.5安装kafka集群 主机环境 软件环境 主机规划 主机安装前准备 安装jdk1.8 安装zookeeper 安装kafk ...
- Kafka相关内容总结(Kafka集群搭建手记)
简介 Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是 ...
- zookeeper kafka集群
一.部署zookeeper集群 三台机器上执行相同的操作 mkdir -p /data/zookeeper cd zookeeper-3.4.6 cp zoo_sample.cfg zoo.cfg [ ...
随机推荐
- JPEG
JPEG文件由八个部分组成,每个部分的标记字节为两个,首字节固定为:0xFF,当然,准许在其前面再填充多个0xFF,以最后一个为准.下面为各部分的名称和第二个标记字节的数值,用ultraedit的16 ...
- css 常用布局
「前端那些事儿」③ CSS 布局方案 我们在日常开发中经常遇到布局问题,下面罗列几种常用的css布局方案 话不多说,上代码! 居中布局 以下居中布局均以不定宽为前提,定宽情况包含其中 1.水平居中 a ...
- Handlebars的基本用法
使用Handlebars,你可以轻松创建语义化模板,Mustache模板和Handlebars是兼容的,所以你可以将Mustache导入Handlebars以使用 Handlebars 强大的功能. ...
- linux c使用socket进行http 通信,并接收任意大小的http响应(三)
使用socket进行http通信的时候,浏览器返回的响应经常不是固定长度的,有时候很大,有些时候又非常小,十分讨厌.如果仅仅只是为了接收一小段信息,设置一个十分大的缓存,这样又会十分浪费.而且经常更改 ...
- [HDU6146]Pokémon GO
Problem 有一个2n的方格矩阵 在一个格子上可以往旁边8个方向走(如果有格子),求有多少方案把2n走完 Solution 我们用Fi表示从一个角出发走遍所有格子回到这一列另外一点的方案数 显然, ...
- Spring搭建练习遇到的坑
1.Error:(7, 23) java: cannot find symbolsymbol: class ProceedingJoinPointlocation: class com.how2jav ...
- SQL-44 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现。
题目描述 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现.CREATE TABLE IF NOT EXISTS ti ...
- inventory file 与hosts patterns (ansible 机器清单 与 主机匹配模式)
Ansible配置: ansible有两个核心配置文件: ansible.cfg 配置文件和Inventory配置文件 Ansible.cfg配置文件 Inventory机器列表配置 这里介绍Inve ...
- VIM入门
目录 一.vim介绍 二.vim颜色显示和移动光标 三.vim一般模式下移动光标 四.vim一般模式下复制.剪切和粘贴 五.进入编辑模式 六.vim命令模式 七.vim实践 一.vim介绍 vi是最重 ...
- 手把手教你实现一个 Vue 进度条组件!
最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或 npm 等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录. 来看下 npm 搜索组件时候的效果: so 下面咱们一起动手 ...