欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

kafka的基本命令

程序员文章站 2024-03-16 10:36:22
...

安装kafka

部署包下载连接
源码包下载连接
解压部署包,包中提供了linux和window下使用的shell和bat
bin目录下是各个启动脚本
config目类中是各个配置文件
config/server.properties是kafka的配置文件,主要配置参数有
log.dirs配置kafka的日志输出目录,也是消息数据在物理磁盘的存储路径
kafka依赖zookeeper,在运行时需要先开启一台zookeeper
zookeeper.connect配置zookeeper的连接参数(localhost:2181)
同时,kafka提供了一个zookeeper在部署包中,配置文件是config/zookeeper.properties
kafka运行脚本是bin/kafka-server-start.sh
内嵌zookeeper运行脚本是bin/zookeeper-server-start.sh

kafka的基本操作

创建topic

./kafka-topic.sh --create --zookeeper localhost:2182 --replication-factor 1 --partitions 1 --topic test

replication-factor为1代表在全部broker中总共存在几个备份,此处代表只保存一个该topic的数据(即无多余备份)
partitions为1代表每个该topic的数据或备份,要划分为几个分区,不同分区保存不同的消息

查看topic

./kafka-topic.sh --list --zookeeper localhost:2182

查看topic信息

./kafka-topic.sh --describe --zookeeper localhost:2182 --topic test

生产消息

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

消费消息

./kafka-console-consumer.sh -bootstrap-server localhost:9092 --topic test --from-beginning

集群搭建

修改server.properties
1.配置每台kafka使用不同的broker.id

broker.id=1

2.设置每台kafka注册到zk上提供的自己的ip及端口信息
listeners与advertised.listeners的关系:listeners配置kafka服务使用的本地ip和端口,advertised.listeners代表注册到zk上暴露出去的ip和端口,当没有配置advertised.listeners时,默认使用listeners参数的值作为
advertised.listeners的值,需要注意的是listeners可以使用0.0.0.0作为ip而advertised.listeners不可以

broker.id=1
listeners=PLAINTEXT://192.168.11.153:9092

此处留意到,listeners是复数的形式,没错kafka还支持对内外网进行分流

listeners=CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093

上述配置代表,对于来自客户端(client)的请求,使用0.0.0.0:9092这个通信地址,对于来自备份kafka(replication)的请求,使用localhost:9093的端口
kafka的基本命令