【技术实现步骤摘要】
针对kafka集群的磁盘保护方法及相关设备
[0001]本申请实施例涉及计算机
,尤其涉及一种针对kafka集群的磁盘保护方法及相关设备。
技术介绍
[0002]Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
[0003]Kafka的架构包括以下组件:
[0004]话题(Topic)是特定类型的消息流。消息是字节的有效负载(Playload),话题是消息的分类名或者种子(feed)名。
[0005]生产者(producer)是能够发布消息到话题的任何对象。
[0006]代理(Broker)或者kafla集群是用于保存已发布的消息的一组服务器。
[0007]消费者可以订阅一个或者多个话题,从代理(Broker)中拉取数据,从而消费这些已发布的消息。
[0008]Kafka现有的删除策略可以分为:基于时间的删除策略和基于文件大小的删除策 ...
【技术保护点】
【技术特征摘要】
1.一种针对kafka集群的磁盘保护方法,其特征在于,包括:轮询kafka集群中所有存储服务器的磁盘容量;当任一存储服务器的磁盘容量达到保护阈值时,获取分区分布信息,所述分区分布信息中包含每一个存储服务器上所设置的主题及每一个主题下属的主分区;对每一个存储服务器,查询所述存储服务器的数据目录,按照占用空间由大到小的顺序找出第一预设数量的段文件;对每一个段文件,获取所述段文件所属的主题及分区,依据所述分布信息判断所述段文件所属的分区是否为主分区;当所述段文件所属的分区为主分区,按照预设比例清理所述段文件所属的分区下的段文件。2.根据权利要求1所述的方法,其特征在于,按照预设比例清理所述段文件所属的分区下的段文件,包括:查找所述段文件所属的分区下的可清理的段文件,所述可清理的段文件为不存在快照文件的段文件;在所述可清理的段文件中按照预设比例选择待清理的段文件,清理所述待清理的段文件。3.根据权利要求2所述的方法,其特征在于,所述在所述可清理的段文件中按照预设比例选择待清理的段文件,包括:将所述可清理的段文件按照时间顺序进行排序;在所述排序中按照由远到近的顺序选择预设比例的段文件,作为待清理的文件单元。4.根据权利要求2所述的方法,其特征在于,所述清理所述待清理的段文件,包括:对每一个待清理的段文件,获取所述待清理的段文件的文件名,依据文件名计算数据起始偏移量;在所述段文件所属的分区中依据所述起始偏移量清理所述待清理的段文件。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:如果查找所述段文件所属的分区下的可清理的段文件失败,则调整段文件参数,以调整段文件大小;重新查找所述段文件所属的分区下的可清理的段文件,所述可清理的段文件为不存在快照文件的段文件;在所述可清理的段文件中按照预设比例选择待清理的段文件,清理所述待清理的段文件。6.一种针对kafka集群的磁盘保护装置,设置在终端设备中,其特征在于,所述磁盘保护装置包括:监控模块,用于轮询kafka集群中所有存储服务器的磁盘容量;获取模块,用于当任一存储服务器的磁盘容量达到保护阈值时,获取分区分布信息,所述分区分布信息中包含每一个存储服务器上所设置的主题及每一个主题下属的主分区;查询模块,用于对每一个存储服务器,查询所述存储服务器的数据目录,按照占用空间由大到小的顺序找出第一预设数量的段文件;判断模块,用于对每一个段文件,获取所述段文件所属的主题及分区,依据所述分布信
息判断所述段文件所属的分区是否为主分区;第一清理模块,用于当所述段文件所属的分区为主分区,按照预设比例清理所述段文件所属的分区下的段文件。7.根据权利要求6所述的装置,其特征在于,所述第一清理模块,包括:查找模块,用于查找所述段文件所属的分区下的可清理的段文件,所述可清理的段文件为不存在快照文件的段文件;第二清理模块,用于在所述可清理的段文件中按照预设比例选择待清理的段文件,清理所述待清理的段文件。8.根据权利要求7所述的装置,其特征在于,所述第二清理模块,包括:排序模块,用于将所述可清理的段文件按照时间顺序进行排序;选择模块,用于在所述排序中按照由远到近的顺序选择预设比例的段文件,作为待清理的文件单元。9.根据权利要求7所述的装置,其特征在于,所述第二清理模块,包括:计算模块,用于对每一个待清理的段文件,获取所述待清理的段文件的文件名,依据文件名计算数据起始偏移量;第三清理模块,用...
【专利技术属性】
技术研发人员:曹俊志,
申请(专利权)人:联通智网科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。