温馨提示×

kafka在centos中如何部署

小樊
35
2025-02-18 20:54:17
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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:指定Zookeeper数据存放目录。
  • clientPort:指定客户端访问Zookeeper的端口号。

例如:

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

4. 配置Kafka

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

cd /usr/local/kafka
vi server.properties

修改以下配置项:

  • broker.id:Kafka节点的唯一标识。
  • listeners:Kafka监听的地址和端口。
  • log.dirs:Kafka日志存放目录。
  • zookeeper.connect:Zookeeper的地址和端口。

例如:

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系统中了。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Kafka在Linux上如何部署

0