创建 Topic 来验证是否创建成功
# cd .. 往回退一层 到 /usr/local/kafka/kafka_2.12-2.3.0 目录下 bin/kafka-topics.sh --create --zookeeper 192.168.1.7:2181 --replication-factor 2 --partitions 1 --topic cxuan对上面的解释
--replication-factor 2 复制两份
--partitions 1 创建1个分区
--topic 创建主题
查看我们的主题是否出创建成功
bin/kafka-topics.sh --list --zookeeper 192.168.1.7:2181启动一个服务就能把集群启动起来
在一台机器上创建一个发布者
# 创建一个broker,发布者 ./kafka-console-producer.sh --broker-list 192.168.1.7:9092 --topic cxuantopic在一台服务器上创建一个订阅者
# 创建一个consumer, 消费者 bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.7:9092 --topic cxuantopic --from-beginning注意:这里使用 --zookeeper 的话可能出现 zookeeper is not a recognized option 的错误,这是因为 kafka 版本太高,需要使用 --bootstrap-server 指令
测试结果
发布
消费
其他命令显示 topic
bin/kafka-topics.sh --list --zookeeper 192.168.1.7:2181 # 显示 cxuantopic查看 topic 状态
bin/kafka-topics.sh --describe --zookeeper 192.168.1.7:2181 --topic cxuantopic # 下面是显示的详细信息 Topic:cxuantopic PartitionCount:1 ReplicationFactor:2 Configs: Topic: cxuantopic Partition: 0 Leader: 1 Replicas: 1,2 Isr: 1,2 # 分区为为1 复制因子为2 主题 cxuantopic 的分区为0 # Replicas: 0,1 复制的为1,2Leader 负责给定分区的所有读取和写入的节点,每个节点都会通过随机选择成为 leader。
Replicas 是为该分区复制日志的节点列表,无论它们是 Leader 还是当前处于活动状态。
Isr 是同步副本的集合。它是副本列表的子集,当前仍处于活动状态并追随Leader。
至此,kafka 集群搭建完毕。
验证多节点接收数据刚刚我们都使用的是 相同的ip 服务,下面使用其他集群中的节点,验证是否能够接受到服务
在另外两个节点上使用
bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.7:9092 --topic cxuantopic --from-beginning然后再使用 broker 进行消息发送,经测试三个节点都可以接受到消息。
配置详解在搭建 Kafka 的时候我们简单介绍了一下 server.properties 中配置的含义,现在我们来详细介绍一下参数的配置和概念
常规配置这些参数是 kafka 中最基本的配置
broker.id