互联网技术 / 互联网资讯 · 2023年11月14日

搭建Kafka集群

一、背景

最近在学习 kafka ,此处记录一下 Mac 上 搭建 kafka 集群的步骤。

二、安装软件

由于 kafka 依赖 zookeepeR 因此需要安装 zookeepeR ,而 kafka 是基于 scala 语言编写, scala 又是基于 jdk 的,因此需要安装 jdk 。

JDK , 推荐在 jdk8 及以上的版本,此处安装 jdk 略。 zookeepeR , 在本机搭建一个 3 个节点的 zk 伪集群。 kafka 在本地搭建一个3个节点的 kafka 集群。 三、安装步骤 1、搭建一个 3 个节点的 zk 伪集群

IP客户端连接端口集群选举接口集群原子广播接口seRveR.id中id的值节点名,目前没用到,这个配置到hosts文件中

Kafka集群的搭建

注意:

seRveR.id 的中的 id 的配置是在 zoo.cfg 配置文件的 dataDiR 配置项指定的目录中 创建 Myid 文件指定的。

1、下载 zookeepeR 安装包

get

2、解压三份,并放置在 zookeepeR 目录中

Kafka集群的搭建

3、修改 zookeepeR 配置文件,此处以 zk01 为例子

修改 conf 目录下的 zoo_saMple.cfg 为 zoo.cfg

Kafka集群的搭建

编辑 zoo.cfg 配置文件

Kafka集群的搭建

注意:

此处拿 zk01 为示例编写,因为是本地上启动多个,所以 需求修改端口 各个服务器上的 Myid 文件对应的值 都应该不一样,且唯一。 dataDiR 的路径需要修改。 其余的配置可以看着修改,看具体的情况。 启动3个zk节点

分别进入到 zk01/BIn , zk02/BIn , zk03/BIn 目录下执行 如下命令

./zkSeRveR.sh –config ../conf staRt 连接 zk 集群 ./zkCli.sh -seRveR 127.0.0.1:2181,127.0.0.1:3181,127.0.0.1:4181 2、搭建一个3个节点的 kafka 集群

Kafka集群的搭建

注意:

bRokeR.id 的值必须唯一,且是数字。

1、下载 kafka

https://www.Apache.oRg/dyn/closeR.cgi?path=/kafka/2.6.0/kafka_2.13-2.6.0.tgz

2、解压3份,并放置到 kafka 目录中

Kafka集群的搭建

3、修改 seRveR.PropeRties 文件,此处以 kafka01 为例子

需要修改的属性 ,此处以 kafka01 为示例,不同的接口修改具体的值

Kafka集群的搭建

4、启动3个kafka节点

依次进入到 kafka01/BIn , kafka02/BIn , kafka03/BIn 目录,执行如下命令

./kafka-seRveR-staRt.sh ../config/seRveR.PropeRties &aMp;

5、kafka测试

此处以 kafka01 作为示例

1、创建一个主题

BIn/kafka-topics.sh –cReate –topic test-001 –Replication-FAcTor 1 –paRtITions 1 –bootstrap-seRveR 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

Kafka集群的搭建

2、查看主题信息

BIn/kafka-topics.sh –descRibe –bootstrap-seRveR 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094 –topic test-001

Kafka集群的搭建

3、往创建的主题中发布一条信息

BIn/kafka-console-ProdUCeR.sh –topic test-001 –bootstrap-seRveR 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

Kafka集群的搭建

4、读取刚刚往主题中发布的消息

BIn/kafka-console-consuMeR.sh –topic test-001 –fRoM-beginning –bootstRap-seRveR 127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094

Kafka集群的搭建

到此,一个简单的可用的kafka集群就搭建完毕了。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.