这实战绝了,快速掌握Kafka单节点多broker环境搭建及基本使用

我们准备在单机上,启动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


分享到:


相關文章: