在CentOS中部署Kafka的步骤如下:
首先,需要安装Java环境。可以使用以下命令安装OpenJDK 8:
sudo yum install java-1.8.0-openjdk
安装完成后,验证Java是否安装成功:
java -version
从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/
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
进入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
启动Zookeeper:
/usr/local/kafka/bin/zookeeper-server-start.sh config/zookeeper.properties
启动Kafka:
/usr/local/kafka/bin/kafka-server-start.sh config/server.properties
使用以下命令创建一个名为test
的Topic:
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
启动生产者发送消息:
/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
创建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
如果需要开启外网端口,可以使用以下命令:
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上如何部署