一、背景
最近在学习 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文件中
注意:
- server.id 的中的 id 的配置是在 zoo.cfg 配置文件的 dataDir 配置项指定的目录中 创建 myid 文件指定的。
1、下载 zookeeper 安装包
- get https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
2、解压三份,并放置在 zookeeper 目录中
3、修改 zookeeper 配置文件,此处以 zk01 为例子
- 修改 conf 目录下的 zoo_sample.cfg 为 zoo.cfg
- 编辑 zoo.cfg 配置文件
注意:
- 此处拿 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 集群
注意:
- 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 目录中
3、修改 server.properties 文件,此处以 kafka01 为例子
需要修改的属性 ,此处以 kafka01 为示例,不同的接口修改具体的值
4、启动3个kafka节点
依次进入到 kafka01/bin , kafka02/bin , kafka03/bin 目录,执行如下命令
- ./kafka-server-start.sh ../config/server.properties &
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
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
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
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集群就搭建完毕了。