kafka的基本命令
安装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的端口
上一篇: zookeeper常用的基本命令(下篇)
下一篇: Weex Android 动画揭秘