1.简介

由于zookeeper慢慢的成了kafka的瓶颈,kafka提出了去zookeeper化的概念,并在2.8版本之后版本都包含了kraft模式,也就是不需要使用zookeeper了,目前这种模式还不成熟,企业中使用kafka还是推荐使用zk+kafka的方式,否则可能会出现意想不到的错误。

2.环境准备

准备2台centos虚拟机以及kafka3.0的压缩包即可,上一节中,已经介绍了如何下载以及如何安装centos虚拟机了。

3.开始搭建

3.1 修改配置文件

解压kafka3.0到/usr/local下,我这里将它更名为kafka2

这里修改的配置文件和之前的配置文件就有一点不同了,需要修改kafka目录下config/kraft/server.properties文件

编辑server.properties文件

vi server.properties

需要修改的参数有:

# 说明本台kafka的角色,是broker还是controller,controller相当于之前的zk
process.roles=broker,controller
# 集群中的唯一ID,不同机器的kafka这里要设置成不一样的
node.id=1
# 集群配置,格式为nodeId@IP:端口,我这里用2台做集群,中间用逗号分隔
controller.quorum.voters=1@192.168.181.128:9093,2@192.168.181.129:9093
listeners=PLAINTEXT://192.168.181.128:9092,CONTROLLER://192.168.181.128:9093
# kakfa机器注册的IP
advertised.listeners=PLAINTEXT://192.168.181.128:9092
# 数据存储的地址
log.dirs=/usr/local/kafka2/data

保存退出,将配置好的kafka发送到另一台机器上

scp -r /usr/local/kafka2 root@192.168.181.129:/usr/local/

将第二台机器的node.id还有注册地址改一下

node.id=2
listeners=PLAINTEXT://192.168.181.129:9092,CONTROLLER://192.168.181.129:9093
advertised.listeners=PLAINTEXT://192.168.181.129:9092

先前我们已经把9092端口打开了,这里我们将9093端口也打开一下,用作kafka之间的通讯

firewall-cmd --zone=public --add-port=9093/tcp --permanent

3.2 生成集群唯一ID

kraft模式需要我们生成集群的唯一ID,用来配置集群环境,kafka给我们提供了一个工具kafka-storage.sh

/usr/local/kafka2/bin/kafka-storage.sh random-uuid


利用该UUID配置一下我们的集群环境(注意每个kafka都要运行一下,要使用这同一个UUID)

/usr/local/kafka2/bin/kafka-storage.sh format -t e32o2jB4SwGFQYn18rauDA -c /usr/local/kafka2/config/kraft/server.properties 

可以看到,这么做的目的,是将我们的UUID写到配置文件当中

3.3 启动kafka集群

/usr/local/kafka2/bin/kafka-server-start.sh -daemon /usr/local/kafka2/config/kraft/server.properties 

3.4 验证一下kafka有没有搭建成功

往第一台borker里面新建一个主题first,发现第二台机器也可以看到这个主题,集群搭建成功

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览13439 人正在系统学习中

[转帖]【Kafka】(二)Kafka去Zookeeper化,kraft模式搭建的更多相关文章

  1. Baccarat是如何运用去中心化治理模式的?

    区块链的出现,让大家看到了去中心化的可能.去中心化的数字资产从最初的默默无闻,一路起起伏伏发展了十年,逐渐成为了大众认可的价值存储方式.去中心化的金融,使数字资产的生态建设者意识到,即使没有中心化的金 ...

  2. 3、zookeeper 集群模式搭建

    服务器 1:192.168.1.81  端口:2181.2881.3881 服务器 2:192.168.1.82  端口:2182.2882.3882 服务器 3:192.168.1.83  端口:2 ...

  3. ImCash:币安下架BSV之辩:规则、中立与去中心化

    一种看法是:一个引用价格数据和执行交易的加密货币交易所,其业务决策往往是在链外发生的,不受制于严格的.类似于准宪法的链上规则的约束,加密货币交易所可以拒绝任何人喜欢的价格和交易,而且这样做并不会损害底 ...

  4. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目异同

    Filecoin,Storj 以及 PPIO 这三个存储公链的设计思路是不一样的,没有优劣之分,写这篇文章也并不是为了争论各项目的好坏对错.去中心化存储是一个长期商业赛道,不同团队在同一个赛道上往不同 ...

  5. kafka内置的zookeeper

    kafka 很多说不需要安装zk的是因为他们都使用了kafka自带的zk 至于kafka为什么使用zk,你首先要知道zk的作用, 作为去中心化的集群模式. 需要要消费者知道现在那些生产者(对于消费者而 ...

  6. kafka集群和zookeeper集群的部署,kafka的java代码示例

    来自:http://doc.okbase.net/QING____/archive/19447.html 也可参考: http://blog.csdn.net/21aspnet/article/det ...

  7. Kafka学习之二 Kafka安装和使用

    部署环境Linux(Centos 6.5),JDK 1.8.0,zookeeper-3.4.12,kafka_2.11-2.0.0. 1. 单机环境     官方建议使用JDK 1.8版本,因此本文使 ...

  8. kafka系列二:多节点分布式集群搭建

    上一篇分享了单节点伪分布式集群搭建方法,本篇来分享一下多节点分布式集群搭建方法.多节点分布式集群结构如下图所示: 为了方便查阅,本篇将和上一篇一样从零开始一步一步进行集群搭建. 一.安装Jdk 具体安 ...

  9. CentOS7 搭建Kafka(一)zookeeper篇

    CentOS7 搭建Kafka(一)zookeeper篇 近几年当红小生Kafka备受各路英雄好汉追捧,一点不比老前辈RabbitMQ和ActiveMQ差,因为流行,所以你就得学啊:我这么懒,肯定是不 ...

  10. [转帖]面试问Kafka,这一篇全搞定

    面试问Kafka,这一篇全搞定 https://os.51cto.com/art/201911/606207.htm 图片来自 Pexels Kafka 基础 消息系统的作用 大部分小伙伴应该都清楚, ...

随机推荐

  1. STM32CubeMX教程13 ADC - 单通道转换

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) ST-LINK/V2驱动 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (46)-- 算法导论6.1 4题

    四.假设一个最大堆的所有元素都不相同,那么该堆的最小元素应该位于哪里? 文心一言: 最大堆的最小元素位于堆的根结点.由于最大堆的性质,根结点是堆中所有元素的最大值,因此它也是堆中所有元素的最小值. 讯 ...

  3. Nignx快速入门

    Nginx快速入门 一.简介 产生的背景:当一台服务器同一时刻被大量客户端请求访问时,访问量超出服务器请求范围,服务器处理不过来,发生宕机或者丢失连接情况下,产生了Nignx反向代理技术. Nginx ...

  4. 基于Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现(Python版本)

    [摘要]本文将为大家带来使用Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现的展示. 前言 YOLOv3可以算作是经典网络了,较好实现了速度和精度的Trade off,成为和 ...

  5. 云图说丨什么是应用身份管理服务OneAccess

    摘要: OneAccess是华为云提供的应用身份管理服务,具备集中式的身份管理.认证和授权能力,保证企业用户根据权限访问受信任的云端和本地应用系统,并对异常访问行为进行有效防范,真正做到事前预防.事中 ...

  6. 小白必看!JS中循环语句大集合

    摘要:JavaScript中,一共给开发者提供了一下几种循环语句,分别是while循环,do-while循环,for循环,for Each,for-in循环和for-of循环. 本文分享自华为云社区& ...

  7. ServiceWorker工作机制与生命周期:资源缓存与协作通信处理

    在 <web messaging与Woker分类:漫谈postMessage跨线程跨页面通信>介绍过ServiceWorker,这里摘抄跟多的内容,补全 Service Worker 理解 ...

  8. 火山引擎ByteHouse:4000字总结,Serverless在OLAP领域应用的五点思考

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 作为云计算的下一个迭代,Serverless可以使开发者更专注于构建产品中的应用,而无需考虑底层堆栈问题.伴随着近 ...

  9. #1016:Prime Ring Problem(经典DFS)

    原题链接 题意:很容易理解,就是让你输出满足相邻的相加是素数的序列(注意不要重复) 思路就是深搜思想把每种情况遍历一次 代码实现: #include<iostream> #include& ...

  10. JSP 学习笔记 | 一、JSP 原理理解

    前文:IDEA | 使用Maven创建Web项目并配置Tomcat JSP(全称:Java Server Pages):Java 服务端页面.是一种动态的网页技术,其中既可以定义 HTML.JS.CS ...