linux环境 kafka3.4.0 刚搭建好(用kraft替代zookeeper) 怎么建个topic测试一下消费有没有成功

news/2024/9/30 11:40:38

 

 

 

 

在使用 Kafka 3.4.0 并且用 Kraft (Kafka Raft) 替代 Zookeeper 的情况下,步骤会有一些变化。这是因为 Kraft 模式下 Kafka 自身管理元数据,而不再依赖 Zookeeper。

以下是使用 Kraft 模式的 Kafka 3.4.0 创建 topic 并进行生产和消费测试的具体步骤:

### 1. **启动 Kafka 集群**

确保你的 Kafka 集群已经正确配置并启动。在 Kraft 模式下,你需要启动控制器节点和代理节点。

启动控制器节点:
```sh
bin/kafka-storage.sh format -t <uuid> -c config/kraft-controller.properties
bin/kafka-server-start.sh config/kraft-controller.properties
```

启动代理节点:
```sh
bin/kafka-storage.sh format -t <uuid> -c config/kraft-broker.properties
bin/kafka-server-start.sh config/kraft-broker.properties
```

注意:`<uuid>` 是你生成的一个唯一标识符,可以使用 `uuidgen` 工具生成,例如 `uuidgen`。

### 2. **创建一个 Topic**

使用 `kafka-topics.sh` 脚本来创建一个新的 topic。例如,创建一个名为 `test-topic` 的 topic:
```sh
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
```

你可以用以下命令查看你创建的 topic 是否存在:
```sh
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
```

### 3. **启动生产者**

使用 `kafka-console-producer.sh` 启动一个命令行生产者来向 `test-topic` 发送消息:
```sh
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
```

输入一些消息,例如:
```sh
Hello, Kafka!
This is a test message.
```

### 4. **启动消费者**

使用 `kafka-console-consumer.sh` 启动一个命令行消费者来从 `test-topic` 消费消息:
```sh
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
```

这样你应该就能看到之前生产的消息被消费者接收到并打印在控制台上。

### 注意事项

1. **配置文件**:确保你的控制器和代理配置文件 (`kraft-controller.properties` 和 `kraft-broker.properties`) 已正确配置,并包含必要的配置项,如 `process.roles=controller,broker`、`controller.quorum.voters` 等。

2. **环境变量**:确保你的环境变量 `KAFKA_HOME` 已正确设置,并且 Kafka 的 `bin` 目录已添加到 `PATH` 中。如果没有,可以通过以下命令临时设置:
   ```sh
   export KAFKA_HOME=/path/to/kafka
   export PATH=$PATH:$KAFKA_HOME/bin
   ```

3. **工具版本**:确保使用与 Kafka 版本一致的命令行工具(例如 `kafka-topics.sh`, `kafka-console-producer.sh`, `kafka-console-consumer.sh`)。

通过以上步骤,你应该能够在 Kraft 模式下成功地创建一个 Kafka topic,并测试生产者和消费者的功能。如果遇到任何问题,请检查 Kafka 的日志文件以获取更多信息。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

如何确保数据跨域交换安全、合规、可追溯性?

数据跨域交换是指在不同的组织、系统或网络之间进行数据的传输和共享。随着数字经济的发展,数据跨域交换在促进数据流通和创新融合方面发挥着重要作用。然而,这一过程也面临着诸多挑战和风险,例如数据安全、合规性、完整性以及责任不清晰等问题。在进行不同地域文件传输时,…

如何解决跨境传输常见的安全及效率问题?

在当今全球化的商业版图中,企业为了拓展国际市场和增强竞争力,跨境传输数据已成为一项不可或缺的业务活动。合格的数据跨境传输方案,应考虑以下要素:法律合规性:确保方案符合所有相关国家的数据保护法律和国际法规,包括但不限于欧盟的GDPR、中国的《数据安全法》和《个人…

如何保障生物制药企业,HPC环境下数据下载的安全性问题?

许多不同类型的公司和组织可能会使用高性能计算(HPC)来解决各种复杂的问题。制药和生物技术企业使用高性能计算(HPC)的方式多种多样,同时也涉及HPC环境下数据下载安全性问题的考量。主要包括以下几个方面:药物设计与发现:HPC可以用于复杂的分子动力学模拟和药物分子的筛…

HTML5笔记

2.HTML:超文本标记语言 3.双标签:成对出现的标签 单标签:只有开始标签,没有结束标签 edg:换行: 水平线: 4.VS Code快速生成html骨架:!(英文)+Enter/Tab 5.标签之间的两种关系:(1)父子关系(嵌套) (2)兄弟关系(并列) 6.标题标签:~ 特点:(1)独占一行…

TiKV 源码分析之 PointGet

本文介绍了TiDB中最基本的PointGet算子在存储层TiKV中的执行流程。作者:来自 vivo 互联网存储研发团队-Guo Xiang本文介绍了TiDB中最基本的PointGet算子在存储层TiKV中的执行流程。 一、背景介绍 TiDB是一款具有HTAP能力(同时支持在线事务处理与在线分析处理 )的融合型分布式数…

大数据同步方案怎么选,才能提高企业的业务效率?

大数据同步通常指的是在多个数据源或存储系统之间同步数据的过程,可以确保数据的一致性,提高数据的可用性和可靠性,同时支持数据分析和决策制定。大数据同步的步骤通常包括: 数据识别:确定需要同步的数据类型和范围; 数据抽取:从源系统中提取数据; 数据转换:将数据转换…

有点东西,template可以直接使用setup语法糖中的变量原来是因为这个

你知道为什么setup语法糖中的顶层绑定可以在template中直接使用的呢?setup语法糖是如何编译成setup函数的呢?前言 我们每天写vue3代码的时候都会使用到setup语法糖,那你知道为什么setup语法糖中的顶层绑定可以在template中直接使用的呢?setup语法糖是如何编译成setup函数的…