Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。
官网下载地址:http://kafka.apache.org/downloads
Kafka安装
环境系统:CentOS 7.4
kafka版本:2.6.0
1、下载kafka,官网下载地址:http://kafka.apache.org/downloads
由上可以看出,Kafka使用Scala写的,且Scala版本为2.13
2、解压下载的安装压缩包,放到对应的目录中
命令:tar -zxvf kafka_2.13-2.6.0.tgz
目录结构如下:
3、Kafka使用ZooKeeper,所以您需要先启动一个ZooKeeper服务器。如果没有安装。您可以使用随Kafka一起打包的便捷脚本来获取一个快速但是比较粗糙的单节点ZooKeeper实例。
或者参考:【ZooKeeper】ZooKeeper安装及简单操作
启动自带ZooKeeper命令:./bin/zookeeper-server-start.sh config/zookeeper.properties
后台启动ZooKeeper命令:nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties &
4、Kafka基本配置
Kafka在config目录下提供了一个基本的配置文件。为了保证可以远程访问Kafka,我们需要修改两处配置。
打开config/server.properties文件,在很靠前的位置有listeners和 advertised.listeners两处配置的注释,去掉这两个注释,并且根据当前服务器的IP修改如下:
命令:vim config/server.properties
#修改这几项 #日志存放路径 log.dirs=/data/soft/kafka_2.13-2.6.0/data # PLAINTEXT表示协议,监听地址,,0.0.0.0来绑定所有网卡 listeners=PLAINTEXT://127.0.0.1:9092 # PLAINTEXT表示协议,对外公布地址,外网IP advertised.listeners=PLAINTEXT://192.168.0.8:9092 #IP填zookeeper安装地址 zookeeper.connect=127.0.0.1:2181 #IP填zookeeper安装地址
5、启动Kafka
前台启动命令:./bin/kafka-server-start.sh config/server.properties
后台启动命令:./bin/kafka-server-start.sh -daemon config/server.properties
6、操作topic
创建名称为test的topic
命令:./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看当前服务器所有的topic
命令:./bin/kafka-topics.sh --list --zookeeper localhost:2181
查看某一个topic
命令:./bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test
删除topic
命令:./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
7、控制台测试
a、启动一个控制台的生产者,发送消息
命令:./bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test
效果如下:
b、启动一个控制台的消费者,消费消息
命令:./bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test --from-beginning
效果如下: