# 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