我们准备在单机上,启动3个broker。
一、搭建单节点多broker环境
1、建立3个server.properties
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
cp config/server.properties config/server-3.properties
分别修改3个server.properties:
config/server-1.properties:
broker.id=1
listeners=PLAINTEXT://:9093
advertised.listeners=PLAINTEXT://192.168.0.108:9093
log.dirs=/usr/local/kafka_2.12-0.11.0.3/kafka-logs-1
config/server-2.properties:
broker.id=2
listeners=PLAINTEXT://:9094
advertised.listeners=PLAINTEXT://192.168.0.108:9094
log.dirs=/usr/local/kafka_2.12-0.11.0.3/kafka-logs-2
config/server-3.properties:
broker.id=3
listeners=PLAINTEXT://:9095
advertised.listeners=PLAINTEXT://192.168.0.108:9095
log.dirs=/usr/local/kafka_2.12-0.11.0.3/kafka-logs-3
2、启动3个broker
> bin/kafka-server-start.sh -daemon config/server-1.properties &
> bin/kafka-server-start.sh -daemon config/server-2.properties &
> bin/kafka-server-start.sh -daemon config/server-3.properties &
查看当前的进程:
jps
[root@jikeh kafka_2.12-0.11.0.3]# jps
2177 Jps
1522 Kafka
1814 Kafka
1270 QuorumPeerMain
2106 Kafka
jps -m
[root@jikeh kafka_2.12-0.11.0.3]# jps -m
1522 Kafka config/server-1.properties
1814 Kafka config/server-2.properties
1270 QuorumPeerMain /usr/local/zookeeper-3.4.12/bin/../conf/zoo.cfg
2106 Kafka config/server-3.properties
2207 Jps -m
3、基本使用
创建topic:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
查看topic的详情信息:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
[root@jikeh kafka_2.12-0.11.0.3]# bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
Topic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: my-replicated-topic Partition: 0 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
以下是对输出信息的解释。第一行给出了所有分区的摘要,下面的每行都给出了一个分区的信息。因为我们只有一个分区,所以只有一行。
- “leader”是负责给定分区所有读写操作的节点。每个节点都是随机选择的部分分区的领导者。
- “replicas”是复制分区日志的节点列表,不管这些节点是leader还是仅仅活着。
- “isr”是一组“同步”replicas,是replicas列表的子集,它活着并被指到leader。
生产消息:
bin/kafka-console-producer.sh --broker-list localhost:9093,localhost:9094,localhost:9095 --topic my-replicated-topic
消费消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9093,localhost:9094,localhost:9095 --topic my-replicated-topic
閱讀更多 極客慧 的文章