温馨提示×

kafka在centos如何部署

小樊
38
2026-01-10 11:51:00
栏目: 智能运维

在CentOS上部署Apache Kafka涉及多个步骤,包括安装Java、下载Kafka、配置Kafka以及启动Kafka服务。以下是详细的步骤指南:

1. 安装Java

Kafka需要Java运行环境,因此首先需要安装Java。

sudo yum install java-1.8.0-openjdk-devel

验证Java安装:

java -version

2. 下载Kafka

从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

3. 配置Kafka

Kafka的配置文件位于config目录下。主要需要配置以下几个文件:

  • server.properties:Kafka服务器的主要配置文件。
  • zookeeper.properties: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

配置Kafka

编辑config/server.properties文件:

broker.id=0
listeners=PLAINTEXT://your_server_ip:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
num.partitions=1
default.replication.factor=1
min.insync.replicas=1

your_server_ip替换为你的服务器IP地址。

4. 启动Kafka

在Kafka目录下启动Kafka服务器:

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

5. 创建Topic

创建一个Topic来测试Kafka:

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

6. 验证Kafka

生产消息到Topic:

bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092

在另一个终端消费消息:

bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092

7. 停止Kafka

停止Kafka服务器:

bin/kafka-server-stop.sh

停止ZooKeeper:

bin/zookeeper-server-stop.sh

8. 设置开机自启动(可选)

你可以使用systemd来设置Kafka和ZooKeeper的开机自启动。

创建systemd服务文件

创建ZooKeeper服务文件:

sudo vi /etc/systemd/system/zookeeper.service

添加以下内容:

[Unit]
Description=ZooKeeper Server
After=network.target

[Service]
ExecStart=/path/to/kafka_2.13-3.2.0/bin/zookeeper-server-start.sh /path/to/kafka_2.13-3.2.0/config/zookeeper.properties
ExecStop=/path/to/kafka_2.13-3.2.0/bin/zookeeper-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

创建Kafka服务文件:

sudo vi /etc/systemd/system/kafka.service

添加以下内容:

[Unit]
Description=Kafka Server
After=zookeeper.service network.target

[Service]
ExecStart=/path/to/kafka_2.13-3.2.0/bin/kafka-server-start.sh /path/to/kafka_2.13-3.2.0/config/server.properties
ExecStop=/path/to/kafka_2.13-3.2.0/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

启用并启动服务

启用ZooKeeper服务:

sudo systemctl enable zookeeper
sudo systemctl start zookeeper

启用Kafka服务:

sudo systemctl enable kafka
sudo systemctl start kafka

通过以上步骤,你就可以在CentOS上成功部署Apache Kafka。

0