1 概述
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。其中,Kafka最新版本内置了zookeeper,无需单独安装zookeeper。
2 安装环境
2.1 操作系统环境
版本信息:Centos 7.9
硬件平台:X86_64
2.2 kafka版本
kafka 3.5.1
3 安装配置kafka
3.1安装配置jdk1.8
查询JDK可用版本:yum search java | grep -i --color JDK
安装JDK:yum install -y java-1.8.0-openjdk.x86_64
检测安装版本:java -version
3.2 安装配置Kafka
下载kafka3.7.0:
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
解压:tar zxvf kafka_2.13-3.7.0.tgz
然后进入解压后的文件夹:
cd kafka_2.13-3.7.0/
启动zookeeper,在kafka目录中有自带的zookeeper,无需另外安装。
另外在单独的终端窗口中执行以下命令:
bin/zookeeper-server-start.sh config/zookeeper.properties
启动kafka,在另一个终端窗口中执行以下命令:
bin/kafka-server-start.sh config/server.properties
3.3 查看kafka版本
执行命令:cd /root/kafka_2.13-3.7.0/ && bin/kafka-topics.sh --version
4 kafka基本使用
4.1 创建topic
创建topic:
执行命令:cd /root/kafka_2.13-3.7.0/ && bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic test --partitions 1 --replication-factor 1
4.2 查看topic
查看topic:
执行命令:bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
4.3 使用自带的脚本来进行测试
使用kafka-console-producer.sh 发送消息:
bin/kafka-topics.sh --bootstrap-server localhost:9092 --list test
使用kafka-console-consumer.sh消费消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test