最近工作中负责搭建了一下kafka的服务。记录了一些小记。
(以下系统为rocky9.3,与centos7差不多的)
安装步骤
1. 安装JDK8
不做多解释了,可以采用yum安装即可。
yum install java-1.8.0-openjdk* -y
java -version查看是否安装成功
2. 官网下载kafka(选择版本,注意:kafka3.0以上疑似不支持jdk8,这个我未验证,也是查询的时候知道的)
Apache Kafka可以选择下载scala2.1.3的版本(我从其他资料中了解到的,这个Scala版本的比较好)
3. 解压kafka,进入到目录中
tar -xzf kafka_x.x.x.tgz
cd kafka_x.x.x
4. 配置 Kafka
Kafka的配置文件位于解压后的目录中的 config
文件夹中。可以根据需要编辑以下配置文件:
config/server.properties
nano config/server.properties
advertised.listeners
: 设置Kafka服务的外部访问地址,用于生产者和消费者连接。zookeeper.connect
: 设置Zookeeper连接地址。
5. 启动 Zookeeper
Kafka使用Zookeeper来协调集群中的各个节点。在Kafka目录下运行以下命令启动Zookeeper。
bin/zookeeper-server-start.sh config/zookeeper.properties
# 后台启动 ZooKeeper 服务
bin/zookeeper-server-start.sh config/zookeeper.properties > /var/log/zookeeper.log 2>&1 &
6. 启动 Kafka 服务器
在Kafka目录下运行以下命令启动Kafka服务器。
bin/kafka-server-start.sh config/server.properties
# 后台启动 Kafka 服务
bin/kafka-server-start.sh config/server.properties > /var/log/kafka.log 2>&1 &
7. 测试是否可以发送接收消息
以下为搭建启动好kafka服务可以用来测试一下是否可以成功发送接收消息。
1.创建一个名为myTopic的主题
bin/kafka-topics.sh --create --topic myTopic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
2.生产一些消息针对myTopic
运行这个命令后,你将进入一个交互式的控制台,可以在控制台中输入消息,每输入一行就会将消息发送到myTopic 主题。输入完消息后,按回车键即可发送。
bin/kafka-console-producer.sh --topic myTopic --bootstrap-server localhost:9092
版本不同可能不太一样这儿再提供一个2.4.0版本的命令(大家遇见自行搜索或者评论留言)
bin/kafka-console-producer.sh --topic myTopic --broker-list localhost:9092
3.消费myTopic主题中的消息
bin/kafka-console-consumer.sh --topic myTopic --bootstrap-server localhost:9092 --from-beginning
4.查看kafka中的所有主题
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
5.如果有kafka需要远程连接那就配置一下(config/service.properties)
# 监听地址
listeners=PLAINTEXT://0.0.0.0:9092# 广告地址
advertised.listeners=PLAINTEXT://your_server_ip:9092