在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集群。