Kafka
学习教程
https://www.yiibai.com/kafka/apache_kafka_introduction.html
Windows 安装运行 Kafka:https://cloud.tencent.com/developer/article/1497098
Zookeeper
默认占用 2181 端口
安装
由于Kafka的运行依赖于Zookeeper,所以在运行Kafka之前需要安装并运行Zookeeper
Zookeeper下载路径 http://zookeeper.apache.org/releases.html#download
解压到文件下(我的目录是 D:\Program Files\zookeeper-3.5.2-alpha)
打开D:\Program Files\zookeeper-3.5.2-alpha\conf,复制zoo_sample.cfg重命名成zoo.cfg
编辑zoo.cfg,修改dataDir为【dataDir=/zookeeper-3.5.2-alpha/data】
添加环境变量
- ZOOKEEPER_HOME D:\Program Files\zookeeper-3.5.2-alpha
- Path 在现有的值后面添加 %ZOOKEEPER_HOME%\bin;
运行
- 打开 cmd
- 运行:zkserver
Kafka
- Kafka 默认占用 9092 端口,并连接 zookeeper 的默认端口 2181
安装
Kafka下载路径 http://kafka.apache.org/downloads
解压文件(我的目录是D:\kafka_2.12-0.11.0.0 【这里不要在Program Files等文件名之间有空格的目录下,不然一会执行会不识别路径】)
打开目录 D:\kafka_2.12-0.11.0.0\config 下 server.properties 文件,把 log.dirs 修改为【log.dirs=D:\kafka_2.12-0.11.0.0\kafka-logs】
启动
进入kafka文件目录D:\kafka_2.12-0.11.0.0,执行以下命令,运行 kafka 服务器
1 | .\bin\windows\kafka-server-start.bat .\config\server.properties |
测试
创建主题 test
1 | // 进入kafka安装目录的 D:\kafka_2.12-0.11.0.0\bin\windows 下按shift +右键,选择“在此处打开命令窗口”,输入如下命令并回车 |
启动producter生产者「向消息队列 test 发送数据」
1 | // 进入目录D:\kafka_2.12-0.11.0.0\bin\windows 输入如下命令 |
启动consumer 消费者「从消息队列 test 接收数据」
1 | // 进入目录D:\kafka_2.12-0.11.0.0\bin\windows输入如下命令 |
kafka常用命令
- 列出主题
1 | kafka-topic.bat -list -zookeeper localhost:2181 |
- 描述主题
1 | kafka-topics.bat -describe -zookeeper localhost:2181 -topic [topic name] |
- 从头读取消息
1 | kafka-console-consumer.bat -zookeeper localhost:2181 -topic [topic name] -from-beginning |
- 删除主题
1 | kafka-run-class.bat kafka.admin.TopicCommand -delete -topic [topic_to_delete] -zookeeper localhost:2181 |
- 查看topic的详细信息
1 | ./kafka-topic.sh -zookeeper localhost:2181 -describe -topic [topic name] |
- 为topic增加副本
1 | ./kafka-reassign-partitions.sh -zookeeper localhost:2181 -reassignment-json-file json/partitions-to-move.json -execute |
- 为topic增加partition
1 | ./bin/kafka-topics.sh -zookeeper localhost:2181 -alter -partitions 20 -topic [topic name] |
- 下线broker
1 | ./kafka-run-class.sh kafka.admin.ShutdownBroker --zookeeper localhost:2181 broker [brokerId] --num.retries 3 --retry.interval.ms 60 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 王文哲的博客!