# Kafka
## 注意事项
一定要先启动Zookeeper再启动Kafka,顺序不可以改变。
关闭的话需要先关闭Kafka,在关闭Zookeeper。其次启动命令建议加上-daemon,后台运行。
## 常用命令
### 启动关闭相关
```
启动zk:
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
启动Kafka:
./bin/kafka-server-start.sh -daemon config/server.properties
停止Kafka:
./bin/kafka-server-stop.sh
停止zk:
./bin/zookeeper-server-stop.sh
```
### topic相关
```
创建名为test的topic:
./bin/kafka-topics.sh -zookeeper localhost:2181 --create --partitions 5 --replication-factor 1 --topic test
-partitions:分区数 -replication-factor:副本数
查询topic列表:
bin/kafka-topics.sh --list --zookeeper localhost:2181
删除名为test的topic:
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
查询topic信息:
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
如果未指定topic,则输出所有topic的信息
增加partition数量(不允许减少):
./bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter --topic test --partitions 10
```
### 消息相关
```
生产者发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费者查询消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --group t1
–from-beginning:表示从头开始接收数据 –group:指定消费者组
查询名为test的Topic消息:
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test --time -1
–time-1 表示要获取指定 topic 所有分区当前的最大位移(历史总消息数),–time-2 表示获取当前最早位移(被消费的消息数),两个命令的输出结果相减便可得到所有分区当前的消息总数。
第一个数字表示分区,第二个数字表示偏移量。
```
- Python学习
- Python基础
- Python初识
- 列表生成式,生成器,可迭代对象,迭代器详解
- Python面向对象
- Python中的单例模式
- Python变量作用域、LEGB、闭包
- Python异常处理
- Python操作正则
- Python中的赋值与深浅拷贝
- Python自定义CLI三方库
- Python并发编程
- Python之进程
- Python之线程
- Python之协程
- Python并发编程与IO模型
- Python网络编程
- Python之socket网络编程
- Django学习
- 反向解析
- Cookie和Session操作
- 文件上传
- 缓存的配置和使用
- 信号
- FBV&&CBV&&中间件
- Django补充
- 用户认证
- 分页
- 自定义搜索组件
- Celery
- 搭建sentry平台监控
- DRF学习
- drf概述
- Flask学习
- 项目拆分
- 三方模块使用
- 爬虫学习
- Http和Https区别
- 请求相关库
- 解析相关库
- 常见面试题
- 面试题
- 面试题解析
- 网络原理
- 计算机网络知识简单介绍
- 详解TCP三次握手、四次挥手及11种状态
- 消息队列和数据库
- 消息队列之RabbitMQ
- 数据库之Redis
- 数据库之初识MySQL
- 数据库之MySQL进阶
- 数据库之MySQL补充
- 数据库之Python操作MySQL
- Kafka常用命令
- Linux学习
- Linux基础命令
- Git
- Git介绍
- Git基本配置及理论
- Git常用命令
- Docker
- Docker基本使用
- Docker常用命令
- Docker容器数据卷
- Dockerfile
- Docker网络原理
- docker-compose
- Docker Swarm
- HTML
- CSS
- JS
- VUE