# :-: 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文件:
![](https://img.kancloud.cn/92/75/9275f7cec676fc83e09c09aeeb63b81d_1141x570.png)
```
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
```
![](https://img.kancloud.cn/f9/0c/f90c9a254d80cd6cfae7996152a4cb1f_1456x856.png)\*\*\*\*
*****
**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**
![](https://img.kancloud.cn/79/3b/793b9535f620c50e4abdd327aa8de404_1404x816.png)
![](https://img.kancloud.cn/f5/d0/f5d0cafb87ed8530787724456b26616b_1369x611.png)
- 项目介绍
- 项目声明
- 项目简介
- 架构设计
- 项目亮点功能介绍
- 技术栈介绍
- 核心功能
- 运行环境
- 项目更新日志
- 文档更新日志
- 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开启端口