centos

如何在CentOS上搭建Kafka集群

小樊
36
2025-07-12 17:39:50
栏目: 智能运维

在CentOS上搭建Kafka集群需要以下几个步骤:

1. 准备工作

2. 下载并解压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

3. 配置Kafka

在每个节点上进行配置。假设我们有三个节点:broker1, broker2, broker3

3.1 server.properties

编辑config/server.properties文件:

# Broker ID, unique for each broker
broker.id=1  # 在broker2上改为2,在broker3上改为3

# List of directories where log data will be stored.
log.dirs=/tmp/kafka-logs

# Zookeeper connection string
zookeeper.connect=broker1:2181,broker2:2181,broker3:2181

# List of Zookeeper quorum servers
zookeeper.connection.timeout.ms=6000

# Number of partitions for each topic
num.partitions=1

# Default number of log partitions per topic
default.replication.factor=3

# Minimum age of log files to be eligible for deletion due to age
log.retention.hours=168

# Default retention period for logs
log.segment.bytes=1073741824

# The default number of log partitions per topic
num.partitions=1

# The default replication factor for topics
default.replication.factor=3

# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168

# The duration of time to retain data in Kafka
log.retention.check.interval.ms=300000

# The offset of the last message in the log
log.start.offset=0

3.2 zookeeper.properties

编辑config/zookeeper.properties文件:

dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=0
server.1=broker1:2888:3888
server.2=broker2:2888:3888
server.3=broker3:2888:3888

4. 启动Zookeeper

在每个节点上启动Zookeeper:

bin/zookeeper-server-start.sh config/zookeeper.properties

5. 启动Kafka Broker

在每个节点上启动Kafka Broker:

bin/kafka-server-start.sh config/server.properties

6. 验证集群状态

使用Kafka自带的工具验证集群状态:

bin/kafka-topics.sh --bootstrap-server broker1:9092 --list

7. 创建Topic

创建一个Topic来测试集群:

bin/kafka-topics.sh --bootstrap-server broker1:9092 --create --topic test-topic --partitions 3 --replication-factor 3

8. 生产者和消费者测试

启动生产者和消费者来测试集群:

# 生产者
bin/kafka-console-producer.sh --broker-list broker1:9092 --topic test-topic

# 消费者
bin/kafka-console-consumer.sh --bootstrap-server broker1:9092 --topic test-topic --from-beginning

通过以上步骤,你应该能够在CentOS上成功搭建一个Kafka集群。确保所有节点的时间同步,并且网络连接正常。

0
看了该问题的人还看了