在CentOS下安装Apache Kafka的步骤如下:
Kafka是基于Java开发的,因此在安装Kafka之前需要先安装JDK。推荐安装JDK 1.8或更高版本。
sudo yum install java-1.8.0-openjdk-devel -y
验证Java安装是否成功:
java -version
从Apache Kafka官网下载最新版本的Kafka压缩包。例如,下载kafka_2.13-3.8.0.tgz
。
wget https://downloads.apache.org/kafka/3.8.0/kafka_2.13-3.8.0.tgz
将下载的压缩包解压到指定目录,例如/opt
。
tar -xzf kafka_2.13-3.8.0.tgz -C /opt
进入Kafka目录并进行基本配置。
sudo mkdir -p /opt/kafka_2.13-3.8.0/data
sudo mkdir -p /opt/kafka_2.13-3.8.0/logs
server.properties
文件编辑/opt/kafka_2.13-3.8.0/config/server.properties
文件,设置必要的属性以便于后续的服务部署和管理。
sudo vi /opt/kafka_2.13-3.8.0/config/server.properties
根据需要修改以下参数:
broker.id
:每个broker的唯一标识符,可以是任意整数,通常从0开始递增。listeners
:设置Kafka服务监听的地址和端口,例如PLAINTEXT://localhost:9092
。log.dirs
:指定Kafka存储日志文件的目录,例如/opt/kafka_2.13-3.8.0/data
。zookeeper.connect
:设置Zookeeper的连接信息,例如localhost:2181
。sudo /opt/kafka_2.13-3.8.0/bin/zookeeper-server-start.sh /opt/kafka_2.13-3.8.0/config/zookeeper.properties
sudo /opt/kafka_2.13-3.8.0/bin/kafka-server-start.sh /opt/kafka_2.13-3.8.0/config/server.properties
使用以下命令验证Kafka服务是否正在运行:
sudo kafka-topics.sh --list --zookeeper localhost:2181
如果一切正常,你应该能看到一个名为__consumer_groups
的主题。
创建一个名为kafka.service
的服务定义文件位于路径/etc/systemd/system/
下。
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
After=network.target
[Service]
Type=simple
ExecStart=/opt/kafka_2.13-3.8.0/bin/kafka-server-start.sh /opt/kafka_2.13-3.8.0/config/server.properties
ExecStop=/opt/kafka_2.13-3.8.0/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存上述配置之后执行以下指令使更改生效:
sudo systemctl daemon-reload
sudo systemctl enable kafka.service
sudo systemctl start kafka.service
创建一个名为test-topic
的主题:
sudo /opt/kafka_2.13-3.8.0/bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
发送消息:
echo "Hello, Kafka!" | sudo /opt/kafka_2.13-3.8.0/bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
消费消息:
sudo /opt/kafka_2.13-3.8.0/bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
以上步骤应该可以帮助你在CentOS上成功安装并运行Kafka。