在CentOS上配置Kafka的步骤如下:
Kafka需要Java运行环境,首先确保你的系统上安装了Java。如果没有,可以通过以下命令安装:
sudo yum install java-1.8.0-openjdk-devel -y
验证Java安装成功:
java -version
从Apache官网下载适合的版本,例如Kafka 3.5.2:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
解压并移动到指定目录:
tar -zxvf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /opt/kafka
将Kafka的bin目录添加到系统的PATH中:
echo 'export PATH=$PATH:/opt/kafka/bin' >> ~/.bashrc
source ~/.bashrc
打开config目录下的server.properties
文件修改配置:
vim /opt/kafka/config/server.properties
配置日志存放位置:
log.dirs=/opt/kafka/kafka-logs
找到下面配置进行修改,位置大概在34行左右:
listeners=PLAINTEXT://:9092
改成自己服务器IP:
advertised.listeners=PLAINTEXT://your_server_ip:9092
先在解压目录下创建zookeeper文件夹用来存放数据,再打开config目录下的zookeeper.properties
文件修改配置:
vim /opt/kafka/config/zookeeper.properties
配置数据存放位置:
dataDir=/opt/kafka/zookeeper
放通9092端口:
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --reload
注意:这里除了放通CentOS的端口,还要将安全组的端口也放通。
进入Kafka目录并启动Kafka服务:
cd /opt/kafka
./bin/kafka-server-start.sh config/server.properties
使用以下命令创建一个主题并测试:
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning