《Kafka 安装、配置与快速上手》

《Kafka 安装、配置与快速上手》

Kafka 是分布式流处理平台,具备高吞吐、可持久化、可分区复制等特点。本文基于 Kafka 2.5.0(自带 ZooKeeper)演示下载、启动、生产消费与多 broker 集群搭建。

1 下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz --no-check-certificate tar -xzf kafka_2.12-2.5.0.tgz cd kafka_2.12-2.5.0

2 启动 kafka

2.1 启动 Zookeeper

# 前台启动 bin/zookeeper-server-start.sh config/zookeeper.properties # daemon 模式启动 bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

2.2 启动 Kafka broker

# 前台启动 bin/kafka-server-start.sh config/server.properties # 后台运行 bin/kafka-server-start.sh -daemon config/server.properties

3 创建 Topic

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 \ --replication-factor 1 --partitions 1 --topic test # 列出当前所有 topic bin/kafka-topics.sh --list --bootstrap-server localhost:9092

4 控制台生产与消费

# producer:输入一行发送一条消息(Ctrl+D 退出) bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test # consumer:从最早消息开始消费 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 \ --topic test --from-beginning

5 启动多 Broker 构成集群

Kafka 目录自带 server-1、server-2 配置示例。核心差异项:

# config/server-1.properties broker.id=1 listeners=PLAINTEXT://:9093 log.dirs=/tmp/kafka-logs-1 # config/server-2.properties broker.id=2 listeners=PLAINTEXT://:9094 log.dirs=/tmp/kafka-logs-2

分别启动即可组成多 broker 集群。

6 创建多分区、多副本的 Topic

# 删除 topic(需配置 delete.topic.enable=true) bin/kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic test bin/kafka-topics.sh --create --bootstrap-server localhost:9092 \ --replication-factor 3 --partitions 3 --topic my-replicated-topic

7 查看 Topic 描述信息

bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 \ --topic my-replicated-topic
Topic: my-replicated-topic PartitionCount: 3 ReplicationFactor: 3 Topic: my-replicated-topic Partition: 0 Leader: 1 Replicas: 1,0,2 Isr: 1,0,2 Topic: my-replicated-topic Partition: 1 Leader: 0 Replicas: 0,2,1 Isr: 0,2,1 Topic: my-replicated-topic Partition: 2 Leader: 2 Replicas: 2,1,0 Isr: 2,1,0
  • Leader:负责该分区的读写节点。
  • Isr:与 leader 保持同步的副本集合。

8 补充参考

阅读 — · 全站 —
🎸 我的歌单 0 首