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

参考资料

  • 尚硅谷
相关推荐
炘爚2 小时前
C++实现分布式集群聊天服务器
服务器·c++·分布式
gududexiao2 小时前
RabbitMQ 的介绍与使用
分布式·rabbitmq·ruby
Kristrina2 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq
渔民小镇2 小时前
5 分钟搭建桌游服务器:Room 模块 + 领域事件实战
java·运维·服务器·分布式·游戏
weixin_419658312 小时前
RabbitMQ 介绍
分布式·rabbitmq
未秃头的程序猿2 小时前
从“拆东墙补西墙”到“最终一致”:分布式事务在Spring Boot/Cloud中的破局之道
分布式·后端·spring cloud
iOS妖狐小北3 小时前
RabbitMQ之交换机
分布式·rabbitmq·ruby
indexsunny3 小时前
互联网大厂Java求职面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·面试·kafka·oauth2·microservices
青槿吖4 小时前
告别RestTemplate!Feign让微服务调用像点外卖一样简单
java·开发语言·分布式·spring cloud·微服务·云原生·架构
weyyhdke4 小时前
RabbitMQ 集群部署方案
分布式·rabbitmq·ruby