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

参考资料

  • 尚硅谷
相关推荐
Deryck_德瑞克5 小时前
redis和分布式锁
分布式
徐徐同学5 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
视界先声5 小时前
国产分布式存储替代VMware vSphere?:20+功能对比,一文了解SmartX
分布式
露天赏雪11 小时前
Java 高并发编程实战:从线程池到分布式锁,解决生产环境并发问题
java·开发语言·spring boot·分布式·后端·mysql
susu108301891113 小时前
docker启动kafka
docker·容器·kafka
没有bug.的程序员13 小时前
Spring Boot 事务管理:@Transactional 失效场景、底层内幕与分布式补偿实战终极指南
java·spring boot·分布式·后端·transactional·失效场景·底层内幕
LuminescenceJ14 小时前
GoEdge 开源CDN 架构设计与工作原理分析
分布式·后端·网络协议·网络安全·rpc·开源·信息与通信
组合缺一17 小时前
论 AI Skills 分布式发展的必然性:从单体智能到“云端大脑”的跃迁
java·人工智能·分布式·llm·mcp·skills
麦兜*18 小时前
深入解析云原生时代的高性能消息中间件:基于Apache Pulsar与Kafka架构对比的万亿级数据吞吐与低延迟实时处理实战
云原生·kafka·apache
shepherd12618 小时前
深度剖析SkyWalking:从内核原理到生产级全链路监控实战
分布式·后端·skywalking