kafka服务器死机消息,当kafka集群其中一台宕机后,会怎么样?

一、介绍

我们搭建好kafka集群后,对其进行性能测试。遇到这种场景:我搭建好了三台kakfa集群,然后停掉其中一台kafka,然后集群是否能正常工作呢?

7feb80e5de12750798aef57166c1b7d5.png

kafka集群:

192.168.183.53 节点1

192.168.183.55 节点2

192.168.183.62 节点3

创建的主题是hw_data:

三个分区、三个副本

./kafka-topics.sh --create --zookeeper 192.168.183.53:2181 --topic hw_data --partitions 3 --replication-factor 3 二、问题

三个节点启动以后,集群正常工作,正常生产、正常消费。

但是当我们停掉其中一个节点后,发现集群不能正常工作了。

三、原因

我的这个问题的凶手是:__consumer_offsets

首先查看系统的_offsets副本是几个?

./kafka-topics.sh --describe --zookeeper 192.168.183.53|grep consumer_offsets

390b2b56328924c2d1ebf07db01b177c.png

我们看到 副本数为1,这就是导致我们当一个节点宕机后集群无法正常工作的原因!

__consumer_offsets这个topic是由kafka自动创建的,默认50个,但是都存在一台kafka服务器上,这是不是就存在很明显的单点故障?

经测试,如果将存储consumer_offsets的这台机器kill掉,所有的消费者都停止消费了。

__consumer_offsets是一个非常重要的topic,我们怎么能允许它只有一个副本呢?这样就存在单点故障,也就是如果该分区所在的集群宕机了的话,我们的消费者就无法正常消费数据了。

四、解决办法

1.修改系统_offsets副本数为3

修改kafka的核心配置文件server.properties

将num.partitions参数(默认为1)修改为3,

另外需要添加auto.create.topics.enable=true ,如果没有对应的topic可以主动创建topic。

8387611cf4d2ceb790b5af1d8ef43529.png

由于__consumer_offsets是kafka默认的主题,无法删除,我们可以删除zookeeper中的__consumer_offsets。

进入zookeeper/bin目录执行./zkCli.sh

ls /broksers/topicsrmr /broksers/topics/__consumer_offsetsls /broksers/topics

6115352a4d2b9c85b0af80df9f2b7c33.png

先将集群停掉

在重新启动zookeeper和kafka

再次查看__consumer_offsets。发现副本数已经是3

4c0b426e93a0507d80d9329b106af5ad.png

在节点1修改__consumer_offsets后,在节点2和节点3查看__consumer_offsets发现副本数已经变为3,不需要再进行修改。

3b699da9776536c0e90f116884245d2b.png

9a7bee224e9a059580b687945b204d22.png

我的问题到这里就解决了:

启动kafka集群三个节点,然后停掉其中任意一个节点,集群是可以正常工作的。

2.修改创建的topic的副本数为3

查看创建的topic的副本数是否为1

8c7c587cb38947e398b7905b07a7ce89.png

Bug1 kafka启动以后没有添加到zk节点

7409f37517e8394b00931f2138642619.png

进入zookeeper的bin目录,执行./zk.Cli.sh

删除brokers下的ids

ls /brokers/idsrmr /brokers/ids

重启kafka,应该就可以了。

Bug2 无法删除topic

我首先使用rmr /brokers/topics/topicname删除了zookeeper中的topic ,这样查看kafka中的topic时,显示已经没有了,

但是我又创建我刚刚删除的主题时,发现他已经显示被标记删除。

我的配置文件已经设置了删除topic为true,但是我删除的主题还是显示被标记删除,没有真正的删除

解决办法:

进入zookeeper的bin目录,执行./zk.Cli.sh

删除config、brokers、admin下的对应主题

rmr /config/topics/topicnamermr /brokers/topics/topicnamermr /admin/delete_topics/topicname作者:Liu_Shihao 原文链接:https://blog.csdn.net/DreamsArchitects/article/details/108573887

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

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

相关文章

DEEPIN教程 - 本地安装Typora

本地安装Typora 一. 下载Typora安装包 访问https://www.typora.io/#linux路径进行下载。 二. 解压下载的tar.gz文件 tar -xvf Typora-linux-x64.tar.gz三. 将解压后的可执行文件添加到dash路径 1. 首先在解压路径下需要关注如下路径文件。 可执行文件Typora 和 2. 文件夹i…

[Deepin - Pycharm] PyQT5安装配置

[Deepin - Pycharm] PyQT5安装配置 1.环境依赖 python3基础环境, pip下载器 pycharm编辑器 2. 从系统环境中安装pyqt5, qtdesigner >>> pip install pyqt5 >>> sudo apt-get install pyqt5* >>> sudo apt-get install qt5-default …

Python学习笔记(5):Python如何忽略warning的输出

告警现象 形如下图文的告警信息都可以使用告警屏蔽 添加代码 源代码添加 import warnings warnings.filterwarnings("ignore")命令行执行 python -W ignore file.py可以避免warnings输出影响我们调试,但是不要盲目设置取消输出。因为告警内容可能包…

ffmpeg下载安装 多段ts视频m3u8下载

如何下载多段ts视频 m3u8 ffmpeg ffmpeg使用教程 下载 Windows下载方法 step1. 官网下载地址 点此进入下载地址 step2. 选择 Windows EXE files 中的Windows builds by BtbN 这会跳转到github页面中。 step3. 选择对应的linux平台或者windows平台进行下载 安装 step1.…

linux环境下安装多个任意版本的python环境

linux环境下安装多个任意版本的python环境 安装方法可以归结为 [下载 编译 配置环境变量] 下载Python 参考链接: .任意python版本下载,所有python版本下载的FTP路径 Windows下载发送到linux上 step1. 下载linux版本的python 从Python官网进入 选择…

Matplotlib画图教程:在QT界面中嵌入三维图片

Matplotlib画图教程:在QT界面中嵌入三维图片 需求: 做项目报告的时候,有这么一个想法,就是能通过UI随时调用matplotlib进行二维图和三维图的绘制。因此就诞生了做这么一个小模块的想法。 这里先上一下最终结果: 思…

proxy_pool开源项目攻克学习

开源项目攻克学习之proxy_pool 1. 学习背景 爬虫线程池,但是网络上付费的又很麻烦,于是在开源网站上找到一个版本进行学习。 https://github.com/jhao104/proxy_pool 本人操作系统deepin,有遇到一些问题,希望可以跟大家分享一…

Keil_uvision_4基本使用教程

前言: keil uvision 5 和 4 使用方式差不多 Keil_uvision_4基本使用教程 Keil C51 V9.00 即09年发布的最新版本uVision 4,版本外观改变比较大 可以使用以前的注册文件如果全新安装,在VISTA或者WIN 7系统下…

部门名称部门结构叠用_金属结构分公司三部门联合开展工会小组活动

为丰富职工的业余生活,营造轻松欢乐的氛围,增强部门间交流沟通,舒缓职工工作压力,在金属结构分公司工会的支持下,9月12日,分公司工程管理部、安全监管部和综合办公室联合开展工会小组活动,分公司…

不是区块链的特征_上市公司日照港物流区块链平台上线,不是谁都能玩“区块链+物流”?...

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。小编:记得关注哦投资区块链,猛戳:火星财经App下载来源:火星一线文 | 成文厚火星财经APP(…

lg手机历史机型_华为后,又一中国芯崛起!国际手机巨头LG都采用它的芯片了...

众所周知,这几年芯片火热,中国芯片厂商们也是受到了大家空前的关注。任何有关于中国芯的利好,都会被放大,被网友们看好。当然,华为是中国这些芯片企业中最强的,5G芯片华为也是目前最领先的,像巴…

Java学习资料汇总

Java语言特点和常见错误1 Java语言特点总结1.1 语言特点1.2 运行机制1.3 JVM虚拟机1.4 JRE运行环境1.5 JDK开发环境Linux下的java安装,编译,运行三大引用类型1 Java语言特点总结 这段内容来自北大唐教授的教案 1.1 语言特点 • 无直接指针操作 • 自动内存管理 • 数据类型长…

windows环境下安装多个任意版本的python环境

windows环境下安装多个任意版本的python环境windows环境下安装多个任意版本的python环境下载Python下载pipstep1. 用get-pip下载pipstep2. 分析安装的文件step3. 使用pip得到报错" No module named pip "step4. 原因分析和解决方案其他报错1. ERROR: Could not find …

2022年新版Pycharm通过project interpreter国内镜像源设置

2022年新版Pycharm通过project interpreter国内镜像源设置解决方案速览一、国内镜像源列表二、pycharm访问project interpreter解决方案速览 File->Settings->project interpreter-> -> Available Packages将options打勾,并输入-i https://pypi.tuna.…

flink 不设置水印_从0到1学习Flink—— Flink parallelism 和 Slot 介绍

前言之所以写这个是因为前段时间自己的项目出现过这样的一个问题:1Caused by: akka.pattern.AskTimeoutException: 2Ask timed out on [Actor[akka://flink/user/taskmanager_0#15608456]] after [10000 ms]. 3Sender[null] sent message of type "org.apache.…

cad设计院常用字体_趣谈 | 那些年我们看过的电气图纸(附CAD/EPLAN区别)

电气二次回路图是我们工作中必不可少的内容,形形色色的图纸我们见过很多,小编就下面额图纸和大家分享一下,仅作为个人观点,大家的意见可在留言区补充哦!先看看几张老外额图纸吧,譬如ABB、GE,但并…

centos写mysql光标移到上一行_mysql:一条SQL更新语句(update)是如何执行的

一条更新语句的执行流程又是怎样的呢?之前你可能经常听DBA同事说,MySQL可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起&a…

小米wifi每天晚上准时断网_小米 11再次确定,将于28日准时发布,售价更感人

今天是12月25日,在28日晚上,小米 11将准时发布。如今,关于小米 11的消息已经越来越多,小米官方也已经确定了不少配置,同时,小米 11的售价也已经有爆料出现。根据爆料消息显示,小米 11此次或为45…

opengl 深度详解_一步步学OpenGL(23) -《阴影贴图1》

教程 23阴影贴图1原文: http://ogldev.atspace.co.uk/www/tutorial23/tutorial23.htmlCSDN完整版专栏: https://blog.csdn.net/cordova/article/category/9266966背景阴影和光是紧密联系的,正如你需要光才能投射出阴影。有许多的技术可以生成…

ug后处理如何加密_UG在NX加工中如何添加后处理文件?

在使用UG加工中,往往使用的机床不一样就要特定后处理文件,那么如何在UG中添加之前制定好的后处理文件呢?下面以UG8.5为例来说明。1、首先确认UG后处理文件是否完整。完整的后处理文件包括后缀为.def、.pui和.tcl的三个文件(注&…