在Debian上配置Kafka的高可用性需要考慮以下幾個步驟:
安裝和配置Zookeeper: Kafka使用Zookeeper進行集群管理和Leader選舉。首先需要在Debian上安裝Zookeeper。
sudo apt-get update
sudo apt-get install zookeeper
安裝Kafka: 下載Kafka安裝包并解壓。
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzf kafka_2.12-3.5.2.tgz
cd kafka_2.12-3.5.2
配置Kafka Broker:
編輯Kafka的配置文件server.properties
,設置以下關鍵配置:
broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
num.network.threads=3
num.io.threads=8
batch.size=16384
log.flush.interval.messages=10000
log.flush.interval.ms=1000
log.segment.bytes=1073741824
log.retention.hours=168
log.retention.check.interval.ms=300000
配置多個Broker:
為每個Broker實例編輯相應的server.properties
文件,修改broker.id
和其他唯一標識符。
創建Topic: 創建Topic并指定副本數和分區數。
bin/kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3
配置ISR和Leader選舉:
Kafka會自動管理ISR(In-Sync Replica)列表并執行Leader選舉。確保min.insync.replicas
配置足夠高,以保證數據可靠性。
min.insync.replicas=2
啟動Kafka和Zookeeper: 啟動Zookeeper和Kafka服務。
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
監控和管理:
使用Kafka提供的工具進行監控和管理,如kafka-topics.sh
、kafka-consumer-groups.sh
等。