# :-: kafka集群搭建
**一、前提條件**
1、部署Kafka集群搭建需要服務器至少3臺,奇數臺
2、Kafka的安裝需要java環境,jdk1.8
3、Kafka安裝包版本:kafka\_2.12-2.7.0.tgz
4、假設3臺服務器分別為:kafka1、kafka2、kafka3
**二、Zookeeper集群搭建**
直接使用kafka自帶的zookeeper建立zk集群
1、將安裝包kafka\_2.12-2.7.0.tgz上傳到//usr/local/kafka目錄下
2、解壓:tar -zxvf kafka\_2.12-2.7.0.tgz 改名為kafka01
3、進入目錄:cd /usr/local/kafka/kafka01
4、創建zookeeper目錄:mkdir /usr/local/kafka/kafka01/zk\_datas
5、進入目錄:cd /usr/local/kafka/kafka01/config
6、修改zookeeper.properties文件:

```
dataDir=/usr/local/kafka/kafka01/zk_datas
clientPort=2181
maxClientCnxns=0
admin.enableServer=false
```
同樣配置另外2臺kafka
\*\*clientPort 為2182 2183 \*\*
**dataDir=/usr/local/kafka/kafka02/zk\_datas dataDir=/usr/local/kafka/kafka03/zk\_datas**
*****
**執行啟動**
/usr/local/kafka/kafka01/bin/zookeeper-server-start.sh /usr/local/kafka/kafka01/config/zookeeper.properties >/dev/null 2>&1 &
/usr/local/kafka/kafka02/bin/zookeeper-server-start.sh /usr/local/kafka/kafka02/config/zookeeper.properties >/dev/null 2>&1 &
*****
**三、Kafka集群搭建**
1、進入目錄:cd /usr/local/kafka/kafka01
2、創建kafka日志數據目錄:mkdir /usr/local/kafka/kafka01/logs
3、進入目錄:cd /usr/local/kafka/kafka01/config
4、修改server.properties配置文件:
```
broker.id=0
listeners=PLAINTEXT://:9091
advertised.host.name=180.163.89.77
advertised.listeners=PLAINTEXT://180.163.89.77:9091
log.dirs=/usr/local/kafka/kafka01/logs
zookeeper.connect=localhost:2181,localhost:2182
#開啟 刪除 topic 功能
delete.topic.enable=true
#綁定節點的名稱,值為當前節點
host.name=node01
```
\*\*\*\*
*****
**5、 啟動kafka集群:**
/usr/local/kafka/kafka01/bin/kafka-server-start.sh /usr/local/kafka/kafka01/config/server.properties 2>&1 &
/usr/local/kafka/kafka02/bin/kafka-server-start.sh /usr/local/kafka/kafka02/config/server.properties 2>&1 &
*****
kafka默認是自動創建topic,當你嘗試發送到topic或訂閱topic時,會自動創建topic
~~~
//創建topic
bin/kafka-topics.sh --create --zookeeper 192.168.121.205:2181 --replication-factor 1 --partitions 1 --topic mykafka
//查看topic
bin/kafka-topics.sh --list --zookeeper 192.168.121.205:2181
//創建生產者
bin/kafka-console-producer.sh --broker-list 192.168.121.205:9092 --topic mykafka
//創建消費者
bin/kafka-console-consumer.sh --zookeeper 192.168.121.205:2181 --topic mykafka --from-beginning
~~~
*****
**6、kafkaUI-1.2.3.jar**


- 項目介紹
- 項目聲明
- 項目簡介
- 架構設計
- 項目亮點功能介紹
- 技術棧介紹
- 核心功能
- 運行環境
- 項目更新日志
- 文檔更新日志
- F&Q
- 部署教程
- 環境準備
- JDK安裝
- JDK1.8,17共存
- maven
- 分布式緩存Redis
- 單機版
- 集群
- 注冊&配置中心alibaba/nacos
- 介紹
- Nacos安裝
- Nacos配置中心
- Nacos注冊發現
- Nacos生產部署方案
- 服務監控-BootAdmin
- 基本介紹
- 如何使用
- 整合Admin-Ui
- 客戶端配置
- 鏈路追蹤
- 基本介紹
- SkyWalking-1
- Skywalking-1
- 消息隊列
- Kafka
- docker安裝kafka
- Linux集群
- Maven私服
- nexus安裝部署
- nexus使用介紹
- 全文搜索elasticsearch
- windows集群搭建
- docker安裝es
- ElasticHD
- linux集群部署
- 統一日志解決方案
- 日志解決方案設計
- 介紹與相關資料
- ELK安裝部署
- elasticsearch 7.5
- logstash-7.5
- kibana-7.5
- filebeat
- 服務監控-Prometheus
- Prometheus安裝配置
- Prometheus介紹
- grafana
- 持續集成部署CICD
- 自動化部署Jenkins
- 安裝部署win
- 打包發布遠程執行
- 安裝部署linux
- jenkins+gitlab+docker容器化工程自動化部署
- Git
- CICD說明
- 阿里云效
- CentOS_MYSQL安裝
- docker
- 安裝
- Docker安裝Nginx
- Docker部署啟動springboot
- dockerCompose
- harbor
- Docker私有鏡像倉庫
- Portainer
- Docker遠程連接設置
- 打包工程
- 必要啟動模塊
- 核心模塊
- 登錄認證
- 緩存功能
- 日志模塊
- 分布式鎖
- 消息隊列
- 異常處理
- 系統接口
- 參數驗證
- es檢索
- 數據導出
- 系統設計
- 系統總體架構
- 擴展模塊(可選)
- 限流熔斷alibaba/sentinel
- 使用Sentinel實現gateway網關及服務接口限流
- Sentinel使用Nacos存儲規則及同步
- 服務調用Feign
- Feign基本介紹
- 如何使用
- 負載均衡
- 請求超時
- 請求攔截器
- 分布式任務調度
- XXL-JOB
- 分布式事務
- TX-LCN
- Seata
- Seata原理解析
- 數據庫分庫分表
- swagger文檔
- 分布式ID生成器解決方案
- 服務網關CloudGateway
- 基本介紹
- 使用網關
- 路由配置
- 全局過濾器
- 服務認證授權架構設計
- 認證服務流程
- 授權服務流程
- 系統冪等性設計與實踐
- 分布式日志鏈路跟蹤
- 實時搜索系統設計
- 應用性能
- 壓力測試工具
- Apache JMeter介紹和安裝
- ApacheJMeter使用
- JVM
- JVM性能調優
- 常見JVM內存錯誤及解決方案
- JVM 分析工具詳解
- Spring Cloud性能調優
- Linux運維
- Linux 常用命令
- Linux開啟端口