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. three.js中的矩阵计算

    目录 1. 概述 2. 详论 2.1. 行主序与列主序列 2.2. 矩阵乘法 3. 参考 1. 概述 three.js中自带了矩阵运算库,不过在使用的过程中总是容易混淆.不知道是行主序还是列主序,前乘 ...

  2. 4大焕新,华为云CCE带你感受容器化上云体验

    本文分享自华为云社区<华为云CCE邀您共同打造最佳容器化上云体验>,作者:云容器大未来 . 在容器化日益成为中大型企业上云主流选择的情况下,容器服务如何能帮助用户更简单快捷的上云.高效可信 ...

  3. 论文复现丨基于ModelArts实现Text2SQL

    摘要:该论文提出了一种基于预训练 BERT 的新神经网络架构,称为 M-SQL.基于列的值提取分为值提取和值列匹配两个模块. 本文分享自华为云社区<基于ModelArts实现Text2SQL&g ...

  4. CWE 4.7中的新视图:工业控制系统的安全漏洞类别

    摘要:CWE今年的第一个版本在5/1前发布了,做为软件安全的重要分类标准,我们来看下这个版本有那些变化. 本文分享自华为云社区<CWE 4.7中的新视图 -- 工业控制系统的安全漏洞类别> ...

  5. 讲透学烂二叉树(二):图中树的定义&各类型树的特征分析

    日常中我们见到的二叉树应用有,Java集合中的TreeSet和TreeMap,C++ STL中的set.map,以及Linux虚拟内存的管理,以及B-Tree,B+-Tree在文件系统,都是通过红黑树 ...

  6. A/B实验背后的秘密:样本量计算

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 一.前言 背景: AB实验具有一定前瞻性,统计性,科学性的特性.用好了就实现了在大数据时代的充分利用数据分析问题, ...

  7. 基于jdk自带httpserver开发的最小完整MVC框架

    基于jdk自带httpserver开发的最小完整MVC框架 410kb级的完整MVC:solon(83k) + jdkhttp(27k) + enjoy(227k) + snack3(73k) DEM ...

  8. Kubernetes(K8S) Deployment 升级和回滚

    创建部署详见 Kubernetes(K8S) Deployment 部署 Pod 传统应用升级,一般是V1.0的jar包,有一个应对 1.0 的 shell 启动脚本.升级时,传 2.0 的 jar包 ...

  9. AtCoder Beginner Contest 217 D~E

    比赛链接:Here ABC水题, D - Cutting Woods 题意:开始一根木棒长度为 \(n\) 并以 \(1\) 为单位在木棒上标记\((1\sim n)\) ,输出 \(q\) 次操作 ...

  10. Xmanager连接linux服务器的桌面

    在办公室使用xshell通过22端口访问linux服务器大家都很熟悉,但有的时候在办公室要远程linux服务器上的桌面应用,该如何实现. 环境准备 客户端:win10 服务器:centos7.9 一. ...