温馨提示×

如何配置Ubuntu上的Kafka集群

小樊
52
2025-07-26 13:45:26
栏目: 智能运维

配置Ubuntu上的Kafka集群涉及多个步骤,包括安装Java、Zookeeper、Kafka本身,配置相关文件,以及启动服务。以下是一个详细的步骤指南:

环境准备

  • 安装Java:Kafka需要Java运行环境,推荐使用JDK 8。
sudo apt update
sudo apt install openjdk-8-jdk
java -version
  • 安装Zookeeper:Kafka依赖Zookeeper管理集群元数据。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.15/zookeeper-3.4.15.tar.gz
tar -xzf zookeeper-3.4.15.tar.gz
sudo mv zookeeper-3.4.15 /usr/local/zookeeper

配置Zookeeper

  • 编辑zoo.cfg文件
sudo cp /usr/local/zookeeper/conf/zoo.cfg /usr/local/zookeeper/conf/zoo.cfg.samples
sudo vi /usr/local/zookeeper/conf/zoo.cfg
  • 修改配置项
tickTime=2000
dataDir=/usr/local/zookeeper/data
clientPort=2181
  • 启动Zookeeper
sudo /usr/local/zookeeper/bin/zkServer.sh start
  • 验证Zookeeper是否启动成功
sudo netstat -nap | grep 2181

安装Kafka

  • 下载并解压Kafka
wget https://downloads.apache.org/kafka/3.6.2/kafka_2.12-3.6.2.tgz
tar -xzf kafka_2.12-3.6.2.tgz
sudo mv kafka_2.12-3.6.2 /usr/local/kafka
  • 配置Kafka
cd /usr/local/kafka/config
sudo cp server.properties server-1.properties
sudo cp server.properties server-2.properties
sudo cp server.properties server-3.properties

# 编辑 server-1.properties
broker.id=1
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://192.168.1.1:9092
log.dirs=/tmp/kafka-logs-1
zookeeper.connect=192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181

# 编辑 server-2.properties
broker.id=2
listeners=PLAINTEXT://:9093
advertised.listeners=PLAINTEXT://192.168.1.1:9093
log.dirs=/tmp/kafka-logs-2

# 编辑 server-3.properties
broker.id=3
listeners=PLAINTEXT://:9094
advertised.listeners=PLAINTEXT://192.168.1.1:9094
log.dirs=/tmp/kafka-logs-3

启动Kafka集群

  • 在每个Kafka broker上启动Kafka服务
sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server-1.properties
sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server-2.properties
sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server-3.properties

验证集群

  • 创建一个测试主题以验证集群是否正常运行
sudo /usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server your_server_ip:9092 --replication-factor 3 --partitions 3
  • 列出主题以确认创建成功
sudo /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server your_server_ip:9092
  • 生产者和消费者消息以进一步验证
# 生产者
sudo /usr/local/kafka/bin/kafka-console-producer.sh --topic test-topic --bootstrap-server your_server_ip:9092

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

0