IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> kafka 集群服役新节点 -> 正文阅读

[大数据]kafka 集群服役新节点

前言

在生产环境下,kafka集群中发现遇到了性能瓶颈,主要体现在现有的集群下,某个topic的分区存储不够用了,生产者生产消息量太大,或者消费端消费速度跟不上生产进度,导致分区数据大量堆积;

在这种情况下,为缓解集群压力,可以考虑动态扩容kafka集群,也叫做服役新节点,本篇演示下如何基于现有的kafka集群快速服役一台新的kafka节点(或实例)

环境准备

1、虚拟机一台,并安装centos7的系统(或者阿里云等云服务器),4核8G
2、kafka_2.12-2.7.0 安装包,以及zookeeper安装包

在这里插入图片描述

kafka集群搭建

为演示后面的效果,需要提前搭建好kafka集群,这里演示下单机模式下的3节点kafka伪集群搭建过程

1、解压安装包

tar -zxvf kafka_2......

2、创建一个data目录,并在data目录下创建4个子目录

这些目录分别用于存储集群中各个kafka实例的数据
在这里插入图片描述

3、进入kafka主目录下的config目录

将该目录下的server.properties 再复制出3份,伪集群模式,只需要启动的时候指明配置文件即可
在这里插入图片描述

4、修改第3步中的4个配置文件

以server.properties为例进行说明,只需要修改其中几个关键的参数即可,参考如下配置

broker.id=1  #每个实例的唯一标识,不能重复,本例建议数字依次递增即可
listeners=PLAINTEXT://IP:9092  #云服务器这里设置为内网IP
advertised.listeners=PLAINTEXT://IP:9092 #云服务器这里设置为外网IP (如果是虚拟机,这个可以不用设置)
log.dirs=/usr/local/soft/kafka/datas/data1  #数据存放目录
zookeeper.connect=IP:2181  #zookeeper地址,IP建议使用外网

其他的几个配置文件,只需要修改各自的 brokerId数字、端口号,数据存放目录即可,再次强调: brokerId数字,端口号和数据存放目录一定要改正确,避免出现各种意想不到的问题,这里我们规划的端口号分别是:9092,9093,9094,9095

5、启动kafka集群

先启动zookeeper服务,然后进入kafka的主目录下,依次执行下面的命令,先启动3个实例,留下一个实例用于后面的节点服役实验

./bin/kafka-server-start.sh -daemon ./config/server.properties

./bin/kafka-server-start.sh -daemon ./config/server1.properties

./bin/kafka-server-start.sh -daemon ./config/server2.properties

6、检查服务状态

可以看到,kafka集群已经启动了
在这里插入图片描述

如果不放心,可以去zk中检查下node节点状况,通过命令行客户端检查ids节点下的kafka各个节点,如果出现下面的状态,说明集群中3个实例已经正常可以使用了

在这里插入图片描述

7、创建一个测试用的topic

./kafka-topics.sh --zookeeper IP:2181 --create --topic zcy222 --partitions 3 --replication-factor 3

然后可以使用下面的命令进行查看topic列表

./kafka-topics.sh --zookeeper IP:2181 --list

在这里插入图片描述

然后,使用下面的命令查看下上面创建的这个 zcy222这个主题的情况
在这里插入图片描述

通过上面的主题信息展示情况,可以清楚的看到分区、副本的纯粹情况,到这里,集群搭建完成,同时,前置的准备工作也已经基本完成

接下来,将演示下服役新节点的完整步骤

服役新节点过程

所谓服役新节点,即在现有的集群基础上,动态扩展一个或多个新的节点,即将新的kafka实例加入到现有的集群节点中,从而起到分摊存储或增强集群吞吐能力的目的

在上面搭建集群的过程中,我们启动了3个实例,形成了3节点的kafka集群,另外还有一个server3.properties的配置文件,就是接下来要使用的启动第四个实例的配置文件

1、再启动一个kafka实例

进入kafka主目录,执行下面的命令

./bin/kafka-server-start.sh -daemon ./config/server3.properties

这时可以看到4个kafka实例全部存在了
在这里插入图片描述

2、在bin目录下添加一个即将用于均衡的主题配置文件

配置内容如下,如果主题有多个,在后面继续追加,用逗号分割即可

{
"topics": [
	 {"topic": "zcy222"}
 ],
 "version": 1
}

3、生成一个负载均衡的计划

进入binm目录下,执行下面的命令,生成一个即将进行分配的计划

./kafka-reassign-partitions.sh --zookeeper IP:2181 --topics-to-move-json-file topics-to-move.json --broker-list "1,2,3,4" --generate

执行完毕后得到下面的内容提示,得到即将分配的计划内容
在这里插入图片描述

4、创建increase-replication-factor.json文件

即创建执行副本的文件,用于下面生成新的分配计划

在bin目录下创建increase-replication-factor.json 文件,将第三步中的计划内容拷贝到该文件中
在这里插入图片描述

5、执行第四步中的副本计划

执行下面的命令

./kafka-reassign-partitions.sh --zookeeper IP:2181 --reassignment-json-file increase-replication-factor.json --execute

在这里插入图片描述
从上面的输出日志看到对副本计划成功做了执行

6、验证第五步中的副本存储计划

执行下面的命令进行验证

./kafka-reassign-partitions.sh --zookeeper IP:2181 --reassignment-json-file increase-replication-factor.json --verify

可以看到 broker上面这时候存在了1,2,3,4个节点,即节点4也被加入到当前主题的分区中
在这里插入图片描述

7、查看当前主题的分区以及副本描述信息

./kafka-topics.sh --zookeeper IP:2181 --describe --topic zcy222	

对比上文中第一次执行该命令时候的展示内容,可以发现这时候 isr信息已经发生了变化
在这里插入图片描述

也可以进入到zookeeper的客户端窗口,查看broker的信息,已经发生了变化
在这里插入图片描述

通过上面的演示,我们成功将一个新节点动态服役到原来的集群下

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-04 15:39:43  更:2022-03-04 15:42:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:05:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码