在CentOS上搭建Kafka集群涉及多個步驟,包括安裝Java、配置Zookeeper和Kafka服務器。以下是一個基本的指南:
Kafka需要Java運行環境,推薦使用OpenJDK或Oracle JDK。
sudo yum install java-1.8.0-openjdk-devel
驗證安裝:
java -version
從Apache Kafka官網下載最新版本的Kafka,并解壓到指定目錄。
wget https://downloads.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz
tar -xzf kafka_2.13-3.2.0.tgz
cd kafka_2.13-3.2.0
Kafka使用Zookeeper進行集群管理。首先啟動Zookeeper。
編輯config/zookeeper.properties
文件,確保以下配置:
dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=0
創建Zookeeper數據目錄并啟動Zookeeper:
sudo mkdir -p /var/lib/zookeeper
sudo chown $(whoami):$(whoami) /var/lib/zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
編輯config/server.properties
文件,配置Kafka服務器。
假設有三個Broker,分別配置如下:
Broker 1:
broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs-1
zookeeper.connect=localhost:2181
Broker 2:
broker.id=2
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs-2
zookeeper.connect=localhost:2181
Broker 3:
broker.id=3
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs-3
zookeeper.connect=localhost:2181
在每個Broker上啟動Kafka服務器。
Broker 1:
bin/kafka-server-start.sh config/server-1.properties &
Broker 2:
bin/kafka-server-start.sh config/server-2.properties &
Broker 3:
bin/kafka-server-start.sh config/server-3.properties &
創建一個Topic來測試集群。
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3
使用Kafka自帶的工具驗證集群是否正常工作。
生產消息:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
消費消息:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
可以使用Kafka自帶的監控工具或第三方監控工具(如Prometheus、Grafana)來監控Kafka集群的性能和狀態。
log.dirs
、num.partitions
等。通過以上步驟,你可以在CentOS上成功搭建一個Kafka集群。