kafka集群安装

kafka集群安装

文档

  1. kafka单机安装

下载地址

  1. 官网:https://kafka.apache.org/
  2. 最新版本下载页面:https://kafka.apache.org/downloads

说明

  1. 版本选择:3.0.0,kafka_2.12-3.0.0.tgz
  2. 下载地址:https://archive.apache.org/dist/kafka/3.0.0/kafka_2.12-3.0.0.tgz
  3. 先安装单机版,参考kafka单机安装 ,然后调整配置文件,即可转为集群安装

安装前准备

  1. 安装环境:linux,centos7
  2. 安装java环境,参考:linux安装java -centos安装java -linux配置java环境变量
  3. 安装zookeeper集群,参考:zookeeper集群安装

集群安装

  1. 在三台服务器上安装3个kafka服务,组成集群,先在一台服务器上安装好,然后复制到另外两台服务器上,修改配置即可

  2. 安装单机版,参考kafka单机安装

  3. 配置服务器编号

    在单机版安装中,已经在配置文件config/server.properties中,设置了broker.id属性的值

    properties 复制代码
    broker.id=0

    broker.id是唯一标识,集群内不能重复,在3台服务器上,分别将broker.id的值设置为012

  4. 如果单机版启动过,可以删除数据

    1. 删除kafka根目录的datas文件夹
    2. 删除zookeeper集群的kafka节点
  5. 注意事项

    1. 将服务器编号broker.id设置为不同的值

关闭防火墙

​ 如果存在防火墙,应保证服务之间正常通信,可以先关闭防火墙

  1. 查看防火墙状态

    shell 复制代码
    systemctl status firewalld
  2. 关闭防火墙

    shell 复制代码
    systemctl stop firewalld

启动kafka服务端

  1. 先启动zookeeper集群,在每个服务器中,分别启动zookeeper

    shell 复制代码
    cd /opt/module/zookeeper-3.5.7/bin
    ./zkServer.sh start

    安装zookeeper集群,参考:zookeeper集群安装

  2. 启动kafka

    shell 复制代码
    cd /opt/module/kafka/bin
    ./kafka-server-start.sh -daemon ../config/server.properties

    启动kafka需要指定配置文件

  3. 停止kafka

    shell 复制代码
    cd /opt/module/kafka/bin
    ./kafka-server-stop.sh

    注意:先停止kafka,再停止zookeeper

zookeeper集群启动停止脚本

  1. 使用集群启动脚本,可一键启动集群中的所有服务

  2. 注意事项

    • 脚本中连接其它服务器未使用密码,所有应提前设置ssh免密登录
    • ssh远程登录可能会出现找不到JAVA_HOME的问题,可以将java的配置信息配置到/etc/bashrc
  3. 具体脚本内容

    脚本名称:kafka.sh

    shell 复制代码
    #!/bin/bash
    
    case $1 in
    "start"){
    	for i in root@192.168.145.132 root@192.168.145.133 root@192.168.145.134
    	do
    		# 提前设置免密登录
    		echo ------ 启动 $i kafka ------
    		ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
    	done
    }
    ;;
    "stop"){
    	for i in root@192.168.145.132 root@192.168.145.133 root@192.168.145.134
    	do
    		# 提前设置免密登录
    		echo ------ 停止 $i kafka ------
    		ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"
    	done
    }
    ;;
    esac
  4. 启动kafka集群各个节点

    shell 复制代码
    ./kafka.sh start
  5. 关闭kafka集群各个节点

    复制代码
    ./kafka.sh stop

参考资料

  • 尚硅谷
相关推荐
AC赳赳老秦7 小时前
专利附图说明:DeepSeek生成的专业技术描述与权利要求书细化
大数据·人工智能·kafka·区块链·数据库开发·数据库架构·deepseek
小邓吖8 小时前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
曹天骄12 小时前
基于 Cloudflare Worker 构建分布式测速调度系统:KV 与 D1 数据层设计实战教程
分布式·缓存
Prince-Peng14 小时前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构
曹天骄16 小时前
基于 Cloudflare Worker + KV 构建高性能分布式测速调度系统(工程实战)
分布式
奋进的芋圆16 小时前
Spring Boot 3 高并发事务与分布式事务企业级完整解决方案
spring boot·分布式
没有bug.的程序员16 小时前
Spring Boot 与 Kafka:消息可靠性传输与幂等性设计的终极实战
java·spring boot·后端·kafka·幂等性·消息可靠
你才是臭弟弟16 小时前
Docker 拉取 Kafka 镜像及策略配置
docker·容器·kafka
淡泊if16 小时前
Kafka部署模式详解:从单机到分布式集群的核心选择
分布式·kafka
鱼跃鹰飞17 小时前
面试题:什么是时钟回拨问题?怎么解决
分布式·系统架构