centos

kafka在centos中如何部署

小樊
39
2025-02-18 20:54:17
栏目: 智能运维

在CentOS中部署Kafka的步骤如下:

1. 安装Java环境

首先,需要安装Java环境。可以使用以下命令安装OpenJDK 8:

sudo yum install java-1.8.0-openjdk

安装完成后,验证Java是否安装成功:

java -version

2. 下载并解压Kafka

从Apache Kafka官网下载所需的Kafka版本。例如,下载Kafka 3.5.2版本:

wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz

解压下载的压缩包到指定目录,例如/usr/local/kafka

tar -zxvf kafka_2.12-3.5.2.tgz -C /usr/local/kafka/

3. 配置Zookeeper(如果使用Kafka自带的Zookeeper)

Kafka自带了Zookeeper,因此需要配置Zookeeper。进入Kafka目录并编辑config/zookeeper.properties文件:

cd /usr/local/kafka/config
vi zookeeper.properties

修改以下配置项:

例如:

dataDir=/usr/local/kafka/zookeeper
clientPort=2181

4. 配置Kafka

进入Kafka目录并编辑config/server.properties文件:

cd /usr/local/kafka
vi server.properties

修改以下配置项:

例如:

broker.id=0
listeners=PLAINTEXT://your_server_ip:9092
log.dirs=/usr/local/kafka/kafka-logs
zookeeper.connect=localhost:2181

5. 启动Zookeeper和Kafka

启动Zookeeper:

/usr/local/kafka/bin/zookeeper-server-start.sh config/zookeeper.properties

启动Kafka:

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

6. 创建Kafka主题

使用以下命令创建一个名为test的Topic:

/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

7. 测试Kafka

启动生产者发送消息:

/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

启动消费者消费消息:

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

8. 设置开机自启

创建Kafka和Zookeeper的开机自启服务文件:

sudo vi /lib/systemd/system/kafka.service
sudo vi /lib/systemd/system/zookeeper.service

配置文件中添加以下内容:

zookeeper.service

[Unit]
Description=Zookeeper service
After=network.target

[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
User=root
Group=root
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

kafka.service

[Unit]
Description=Apache Kafka server (broker)
After=zookeeper.service

[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
User=root
Group=root
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

刷新配置并启用自启:

sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl enable kafka

启动服务并查看状态:

sudo systemctl start zookeeper
sudo systemctl start kafka
sudo systemctl status zookeeper
sudo systemctl status kafka

9. 配置防火墙

如果需要开启外网端口,可以使用以下命令:

sudo firewall-cmd --zone=public --add-port=2181/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent
sudo firewall-cmd --reload

以上步骤完成后,Kafka就成功部署在CentOS系统中了。

0
看了该问题的人还看了