溫馨提示×

如何在CentOS上搭建Kafka集群

小樊
45
2025-07-12 17:39:50
欄目: 智能運維

在CentOS上搭建Kafka集群需要以下幾個步驟:

1. 準備工作

  • 操作系統:確保所有節點都安裝了CentOS 7或更高版本。
  • Java環境:Kafka需要Java運行環境,建議安裝Java 8或更高版本。
    sudo yum install java-1.8.0-openjdk-devel
    
  • 防火墻設置:確保Kafka節點之間的通信端口是開放的。默認情況下,Kafka使用9092端口。
    sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent
    sudo firewall-cmd --reload
    

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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女