Kafka3.0.0版本——集群部署(linux环境-centos7)

这篇具有很好参考价值的文章主要介绍了Kafka3.0.0版本——集群部署(linux环境-centos7)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、三台服务器信息

  • 三台服务器
    服务器名称 服务器ip
    centos7虚拟机1 192.168.136.27
    centos7虚拟机2 192.168.136.28
    centos7虚拟机3 192.168.136.29

二、三台服务分别需要安装Zookeeper(Kafka需要Zookeeper支持)

  • Zookeeper集群安装参考此博文链接:https://wwwxz.blog.csdn.net/article/details/129280956?spm=1001.2014.3001.5502

三、Kafka3.0.0官网下载

3.1、官网下载地址

  • 官网下载地址:http://kafka.apache.org/downloads.html

3.2、下载步骤

  • 下载步骤如下所示:
    linux kafka集群部署,kafka,kafka

四、Kafka3.0.0集群部署

4.1、centos7虚拟机1 (192.168.136.27)服务器安装步骤

4.1.1、解压安装(以下所有演示操作lz都使用的root用户)
  • 上传安装包到home目录下
    linux kafka集群部署,kafka,kafka

  • 在opt目录下创建module文件夹(如果没有创建的话)

    [root@localhost home]# mkdir /opt/module
    

    linux kafka集群部署,kafka,kafka

  • 进入home目录,解压安装包到opt/module目录下

    [root@localhost home]# tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
    

    linux kafka集群部署,kafka,kafka

  • 进入opt/module目录下,修改解压后的kafka_2.12-3.0.0名称为kafka-3.0.0

    [root@localhost home]# cd /opt/module/
    [root@localhost module]# mv kafka_2.12-3.0.0/ kafka-3.0.0
    

    linux kafka集群部署,kafka,kafka

4.1.2、在Kafka根目录下创建datas文件
  • 在/opt/module/kafka-3.0.0目录下创建datas文件夹,用于日志的存储目录

    [root@localhost kafka-3.0.0]# mkdir datas
    

    linux kafka集群部署,kafka,kafka

4.1.3、在Zookeeper根目录下创建/kafka-3.0.0文件夹
  • 在/opt/module/zookeeper-3.5.7目录下创建kafka-3.0.0文件夹,方便管理kafka

    [root@localhost kafka-3.0.0]# cd /opt/module/zookeeper-3.5.7
    [root@localhost zookeeper-3.5.7]# mkdir kafka-3.0.0
    

    linux kafka集群部署,kafka,kafka

4.1.4、修改server.properties配置文件
  • 进入到/opt/module/kafka-3.0.0/config 目录,修改server.properties配置文件

    [root@localhost module]# cd kafka-3.0.0/config/
    [root@localhost config]# vim server.properties
    
  • 修改server.properties配置文件中以下4个地方内容

    #broker 的全局唯一编号,不能重复,只能是数字。
    broker.id=0
    

    linux kafka集群部署,kafka,kafka

    #放开端口
    listeners=PLAINTEXT://192.168.136.27:9092
    advertised.listeners=PLAINTEXT://192.168.136.27:9092
    

    linux kafka集群部署,kafka,kafka

    #kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以
    配置多个磁盘路径,路径与路径之间可以用","分隔
    log.dirs=/opt/module/kafka-3.0.0/datas
    

    linux kafka集群部署,kafka,kafka

    #配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
    zookeeper.connect=192.168.136.27:2181,192.168.136.28:2181,192.168.136.29:2181/kafka-3.0.0
    

    linux kafka集群部署,kafka,kafka

4.1.5、配置kafka环境变量
  • 在/etc/profile.d/my_env.sh 文件中增加 kafka环境变量配置,增加如下内容:

    #KAFKA_HOME
    export KAFKA_HOME=/opt/module/kafka-3.0.0
    export PATH=$PATH:$KAFKA_HOME/bin
    

    linux kafka集群部署,kafka,kafka

  • 刷新环境变量

    [root@localhost zookeeper-3.5.7]# source /etc/profile
    

    linux kafka集群部署,kafka,kafka

4.1.6、在防火墙中打开要用到的端口 9092,如下所示:
  • 开启防火墙,开放9092端口,并重新关闭防火墙如下图所示。

    #查看防火墙的状态命令
    systemctl status firewalld
    #打开防火墙的状态命令
    sudo systemctl start firewalld
    #开放218128883888端口
    firewall-cmd --permanent --zone=public --add-port=2181/tcp
    firewall-cmd --permanent --zone=public --add-port=2888/tcp
    firewall-cmd --permanent --zone=public --add-port=3888/tcp
    #重新加载
    firewall-cmd --reload
    #关闭防火墙的状态命令
    sudo systemctl stop firewalld
    

    linux kafka集群部署,kafka,kafka

4.1.7、server.properties配置文件参数解读
  • 参数解读

    #broker 的全局唯一编号,不能重复,只能是数字。
    broker.id=0
    #处理网络请求的线程数量
    num.network.threads=3
    #用来处理磁盘 IO 的线程数量
    num.io.threads=8
    #发送套接字的缓冲区大小
    socket.send.buffer.bytes=102400
    #接收套接字的缓冲区大小
    socket.receive.buffer.bytes=102400
    #请求套接字的缓冲区大小
    socket.request.max.bytes=104857600
    #kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以
    配置多个磁盘路径,路径与路径之间可以用","分隔
    log.dirs=/opt/module/kafka/datas
    #topic 在当前 broker 上的分区个数
    num.partitions=1
    #用来恢复和清理 data 下数据的线程数量
    num.recovery.threads.per.data.dir=1
    # 每个 topic 创建时的副本数,默认时 1 个副本
    offsets.topic.replication.factor=1
    #segment 文件保留的最长时间,超时将被删除
    log.retention.hours=168
    #每个 segment 文件的大小,默认最大 1G
    log.segment.bytes=1073741824
    

4.2、centos7虚拟机2 (192.168.136.28)服务器安装步骤

4.2.1、在opt目录下创建module文件夹(如果没有创建的话)
  • 在opt目录下创建module文件夹 与 centos7虚拟机1 (192.168.136.27)服务器中kafka-3.0.0解压安装包的位置相同即可。

    [root@localhost home]# mkdir /opt/module
    

    linux kafka集群部署,kafka,kafka

4.2.2、拷贝配置好的 kafka-3.0.0 到centos7虚拟机2 (192.168.136.28)服务器
  • scp基本语法

    scp  -r   $pdir/$fname       $user@$host:$pdir/$fname
    命令  递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
    
  • 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的 kafka-3.0.0 到centos7虚拟机2 (192.168.136.28)服务器

    [root@localhost home]# scp -r /opt/module/kafka-3.0.0/ root@192.168.136.28:/opt/module/
    

    linux kafka集群部署,kafka,kafka

4.2.3、拷贝配置好的环境变量文件到centos7虚拟机2 (192.168.136.28)服务器并刷新环境变量
  • scp基本语法

    scp  -r   $pdir/$fname       $user@$host:$pdir/$fname
    命令  递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
    
  • 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的环境变量文件到centos7虚拟机2 (192.168.136.28)服务器

    [root@localhost home]# scp -r /etc/profile.d/my_env.sh root@192.168.136.28:/etc/profile.d/my_env.sh
    

    linux kafka集群部署,kafka,kafka

  • 在centos7虚拟机2 (192.168.136.28)服务器上刷新环境变量

    [root@localhost zookeeper-3.5.7]# source /etc/profile
    

    linux kafka集群部署,kafka,kafka

4.2.4、修改配置文件/opt/module/kafka-3.0.0/config/server.properties中的内
  • 在centos7虚拟机2 (192.168.136.28)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的broker.id=1(注:broker.id 不得重复,整个集群中唯一

    broker.id=1
    

    linux kafka集群部署,kafka,kafka

  • 在centos7虚拟机2 (192.168.136.28)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的端口指定的服务器ip。
    linux kafka集群部署,kafka,kafka

4.2.5、在Zookeeper根目录下创建/kafka-3.0.0文件夹
  • 在/opt/module/zookeeper-3.5.7目录下创建kafka-3.0.0文件夹,方便管理kafka

    [root@localhost kafka-3.0.0]# cd /opt/module/zookeeper-3.5.7
    [root@localhost zookeeper-3.5.7]# mkdir kafka-3.0.0
    

    linux kafka集群部署,kafka,kafka

4.2.6、在防火墙中打开要用到的端口 9092,如下所示:
  • 开启防火墙,开放9092端口,并重新关闭防火墙如下图所示。

    #查看防火墙的状态命令
    systemctl status firewalld
    #打开防火墙的状态命令
    sudo systemctl start firewalld
    #开放218128883888端口
    firewall-cmd --permanent --zone=public --add-port=2181/tcp
    firewall-cmd --permanent --zone=public --add-port=2888/tcp
    firewall-cmd --permanent --zone=public --add-port=3888/tcp
    #重新加载
    firewall-cmd --reload
    #关闭防火墙的状态命令
    sudo systemctl stop firewalld
    

    linux kafka集群部署,kafka,kafka

4.3、centos7虚拟机3 (192.168.136.29)服务器安装步骤

4.3.1、在opt目录下创建module文件夹(如果没有创建的话)
  • 在opt目录下创建module文件夹 与 centos7虚拟机1 (192.168.136.27)服务器中kafka-3.0.0解压安装包的位置相同即可。

    [root@localhost home]# mkdir /opt/module
    

    linux kafka集群部署,kafka,kafka

4.3.2、拷贝配置好的 kafka-3.0.0 到centos7虚拟机3(192.168.136.29)服务器
  • scp基本语法

    scp  -r   $pdir/$fname       $user@$host:$pdir/$fname
    命令  递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
    
  • 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的 kafka-3.0.0 到centos7虚拟机3 (192.168.136.29)服务器

    [root@localhost home]# scp -r /opt/module/kafka-3.0.0/ root@192.168.136.29:/opt/module/
    

    linux kafka集群部署,kafka,kafka

4.3.3、拷贝配置好的环境变量文件到centos7虚拟机3 (192.168.136.29)服务器并刷新环境变量
  • scp基本语法

    scp  -r   $pdir/$fname       $user@$host:$pdir/$fname
    命令  递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
    
  • 在centos7虚拟机1 (192.168.136.27)服务器上 拷贝配置好的环境变量文件到centos7虚拟机3 (192.168.136.29)服务器

    [root@localhost home]# scp -r /etc/profile.d/my_env.sh root@192.168.136.29:/etc/profile.d/my_env.sh
    

    linux kafka集群部署,kafka,kafka

  • 在centos7虚拟机3 (192.168.136.29)服务器上刷新环境变量

    [root@localhost ~]# source /etc/profile
    

    linux kafka集群部署,kafka,kafka

4.3.4、修改配置文件/opt/module/kafka-3.0.0/config/server.properties中的内容
  • 在centos7虚拟机3 (192.168.136.29)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的broker.id=2(注:broker.id 不得重复,整个集群中唯一

    broker.id=2
    

    linux kafka集群部署,kafka,kafka

  • 在centos7虚拟机3 (192.168.136.29)服务器上修改改配置文件/opt/module/kafka-3.0.0/config/server.properties中的端口指定的服务器ip。

    linux kafka集群部署,kafka,kafka

4.2.5、在Zookeeper根目录下创建/kafka-3.0.0文件夹
  • 在/opt/module/zookeeper-3.5.7目录下创建kafka-3.0.0文件夹,方便管理kafka

    [root@localhost kafka-3.0.0]# cd /opt/module/zookeeper-3.5.7
    [root@localhost zookeeper-3.5.7]# mkdir kafka-3.0.0
    

    linux kafka集群部署,kafka,kafka

4.3.6、在防火墙中打开要用到的端口 9092,如下所示:
  • 开启防火墙,开放9092端口,并重新关闭防火墙如下图所示。

    #查看防火墙的状态命令
    systemctl status firewalld
    #打开防火墙的状态命令
    sudo systemctl start firewalld
    #开放218128883888端口
    firewall-cmd --permanent --zone=public --add-port=2181/tcp
    firewall-cmd --permanent --zone=public --add-port=2888/tcp
    firewall-cmd --permanent --zone=public --add-port=3888/tcp
    #重新加载
    firewall-cmd --reload
    #关闭防火墙的状态命令
    sudo systemctl stop firewalld
    

    linux kafka集群部署,kafka,kafka

4.4、集群操作

4.4.1、首先,分别启动三台服务器的 Zookeeper服务
  • 启动三台服务器的 Zookeeper服务

    [root@localhost home]# sh zk.sh start
    

    linux kafka集群部署,kafka,kafka

4.4.2、分别启动三台服务器的Kafka服务
  • 启动centos7虚拟机1 (192.168.136.27)服务器 的Kafka服务

    [root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/
    [root@localhost kafka-3.0.0]# bin/kafka-server-start.sh -daemon config/server.properties
    

    linux kafka集群部署,kafka,kafka

  • 启动centos7虚拟机2(192.168.136.28)服务器 的Kafka服务

    [root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/
    [root@localhost kafka-3.0.0]# bin/kafka-server-start.sh -daemon config/server.properties
    

    linux kafka集群部署,kafka,kafka

  • 启动centos7虚拟机3(192.168.136.29)服务器 的Kafka服务

    [root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/
    [root@localhost kafka-3.0.0]# bin/kafka-server-start.sh -daemon config/server.properties
    

    linux kafka集群部署,kafka,kafka

4.4.3、分别停止三台服务器的Kafka服务
  • 停止centos7虚拟机1 (192.168.136.27)服务器 的Kafka服务

    [root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/
    [root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
    

    linux kafka集群部署,kafka,kafka

  • 停止centos7虚拟机2 (192.168.136.28)服务器 的Kafka服务

    [root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/
    [root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
    

    linux kafka集群部署,kafka,kafka

  • 停止centos7虚拟机3 (192.168.136.29)服务器 的Kafka服务

    [root@localhost kafka-3.0.0]# cd /opt/module/kafka-3.0.0/
    [root@localhost kafka-3.0.0]# bin/kafka-server-stop.sh
    

    linux kafka集群部署,kafka,kafka文章来源地址https://www.toymoban.com/news/detail-764274.html

到了这里,关于Kafka3.0.0版本——集群部署(linux环境-centos7)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kafka3.0.0版本——Leader故障处理细节原理

    三台服务器 原始服务器名称 原始服务器ip 节点 centos7虚拟机1 192.168.136.27 broker0 centos7虚拟机2 192.168.136.28 broker1 centos7虚拟机3 192.168.136.29 broker2 2.1、服务器基本信息 首先,分别有3台服务器分别为broker0、broker1、broker2,其中一台为leader,2台follower服务器。每台服务器已经接收到

    2024年02月11日
    浏览(39)
  • Kafka3.0.0版本——Follower故障处理细节原理

    三台服务器 原始服务器名称 原始服务器ip 节点 centos7虚拟机1 192.168.136.27 broker0 centos7虚拟机2 192.168.136.28 broker1 centos7虚拟机3 192.168.136.29 broker2 2.1、服务器基本信息 首先,分别有3台服务器分别为broker0、broker1、broker2,其中一台为leader,2台follower服务器。每台服务器已经接收到

    2024年02月10日
    浏览(46)
  • Kafka3.0.0版本——Leader Partition自动平衡

    正常情况下,Kafka 本身会自动把Leader Partition均匀分散在各个机器上 ,来保证每台机器的读写吞吐量都是均匀的。但是如果 某些broker宕机,会导致Leader Partition过于集中在其他少部分几台broker上 ,这会导致少数几台broker的读写请求压力过高,其他宕机的broker重启之后都是foll

    2024年02月11日
    浏览(47)
  • Kafka3.0.0版本——生产者 数据去重

    1.1、至少一次 至少一次(At Least Once )的含义 生产者发送数据到kafka集群,kafka集群至少接收到一次数据。 至少一次的条件: ACK级别设置为-1 + 分区副本大于等于2 + ISR里应答的最小副本数量大于等于2 1.2、最多一次 最多一次(At Most Once )的含义 生产者发送数据到kafka集群,

    2024年02月01日
    浏览(41)
  • Kafka3.0.0版本——Broker( 退役旧节点)示例

    三台服务器 原始服务器名称 原始服务器ip centos7虚拟机1 192.168.136.27 centos7虚拟机2 192.168.136.28 centos7虚拟机3 192.168.136.29 centos7虚拟机4 192.168.136.30 分别启动4台zookeeper 再分别启动4台kafka brokers中的ids=0、1、2、3都存在,说明4台kafka启动正常,如下图: 查看kafka中的创建过的名称为

    2024年02月13日
    浏览(35)
  • Kafka3.0.0版本——消费者(手动提交offset)

    1.1、手动提交offset的两种方式 commitSync(同步提交):必须等待offset提交完毕,再去消费下一批数据。 commitAsync(异步提交) :发送完提交offset请求后,就开始消费下一批数据了。 1.2、手动提交offset两种方式的区别 相同点:都会将本次提交的一批数据最高的偏移量提交。 不

    2024年02月09日
    浏览(47)
  • Kafka3.0.0版本——消费者(自动提交 offset)

    官网文档 参数解释 参数 描述 enable.auto.commi 默认值为 true,消费者会自动周期性地向服务器提交偏移量。 auto.commit.interval.ms 如果设置了 enable.auto.commit 的值为 true, 则该值定义了消费者偏移量向 Kafka 提交的频率,默认 5s。 图解分析 消费者自动提交 offset代码 消费者自动提交

    2024年02月09日
    浏览(38)
  • Kafka3.0.0版本——生产者数据有序与乱序

    单分区内,数据有序。如下图partion0、partion1、partion2分区内,各自分区内的数据有序。 2.1、kafka1.x版本之前保证数据单分区有序的条件 kafka在1.x版本之前保证数据单分区有序,条件如下: 2.2、kafka1.x版本及以后保证数据单分区有序的条件 未开启幂等性 开启幂等性 2.3、kafka1

    2023年04月27日
    浏览(46)
  • Kafka3.0.0版本——生产者如何提高吞吐量

    设置批次大小,batch.size 默认 16K。 设置等待时间,linger.ms 默认 0。 设置缓冲区大小,buffer.memory 默认 32M 设置压缩, compression.type 默认 none,可配置值 gzip、snappy、lz4 和 zstd。 代码 在kafka集群上开启 Kafka 消费者 在 IDEA 中执行代码,观察kafka集群控制台中是否接收到消息。 测试

    2023年04月10日
    浏览(43)
  • Kafka3.0.0版本——消费者(消费者组原理)

    1.1、消费者组概述 Consumer Group(CG):消费者组,由多个consumer组成。形成一个消费者组的条件,是所有消费者的groupid相同。 注意: (1)、消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费。 (2)、消费者组之间互不影响。所有的消费者

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包