[發明專利]基于Kafka集群的分區優化方法和系統在審
| 申請號: | 202010812659.2 | 申請日: | 2020-08-13 |
| 公開(公告)號: | CN111966289A | 公開(公告)日: | 2020-11-20 |
| 發明(設計)人: | 鄭志升;丁賽男 | 申請(專利權)人: | 上海嗶哩嗶哩科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F9/54 |
| 代理公司: | 北京英特普羅知識產權代理有限公司 11015 | 代理人: | 鄧小玲;王勇 |
| 地址: | 200433 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 kafka 集群 分區 優化 方法 系統 | ||
本申請實施例提供了一種基于Kafka集群的分區優化方法,所述方法包括:獲取各個節點服務器的運行指標數據,所述運作指標數據包括所述節點服務器運行時的CPU信息、內存信息以及磁盤IO信息;獲取各個節點服務器中包含的磁盤與分區的對應關系,以及獲取各個節點服務器中包含的分區的IO信息;根據獲取到的所述運行指標數據、所述對應關系以及所述分區的IO信息構建所述Kafka集群的負載模型;根據所述負載模型與預設的優化目標生成對應的優化任務;將所述優化任務發送至所述Kafka集群,以使所述Kafka集群根據所述優化任務執行分區優化操作,其中,所述分區優化操作包含分區遷移操作和分區擴容操作中的至少一種。本申請可以減少數據丟失。
技術領域
本申請實施例涉及計算機技術領域,尤其涉及一種基于Kafka集群的分區優化方法、系統、計算機設備及計算機可讀存儲介質。
背景技術
kafka是一個分布式,分區的,多副本的,多訂閱者的消息發布訂閱系統(分布式MQ系統),可以用于搜索日志,監控日志,訪問日志等。Kafka架構在緩存數據時一般會通過多個節點服務器(broker)組成一個Kafka集群,并且以分區(partition)為存儲單元進行數據緩存的,然而,發明人發現,現有的Kafka集群在以分區為存儲單元時,各個分區在節點服務器下的磁盤的分布是不均勻,由于分區分布的不均勻,導致部分磁盤的IO使用率較高,進而使得Kafka集群在傳輸數據時會發生數據丟失的情況。
發明內容
本申請實施例的目的是提供一種基于Kafka集群的分區優化方法、系統、計算機設備及計算機可讀存儲介質,可以用于解決Kafka集群在傳輸數據時會發生數據丟失的問題。
本申請實施例的一個方面提供了一種基于Kafka集群的分區優化方法,所述方法包括:
獲取各個節點服務器的運行指標數據,所述運作指標數據包括所述節點服務器運行時的CPU信息、內存信息以及磁盤IO信息;
獲取各個節點服務器中包含的磁盤與分區的對應關系,以及獲取各個節點服務器中包含的分區的IO信息;
根據獲取到的所述運行指標數據、所述對應關系以及所述分區的IO信息構建所述Kafka集群的負載模型;
根據所述負載模型與預設的優化目標生成對應的優化任務;
將所述優化任務發送至所述Kafka集群,以使所述Kafka集群根據所述優化任務執行分區優化操作,其中,所述分區優化操作包含分區遷移操作和分區擴容操作中的至少一種。
可選的,所述負載模型包括Kafka集群包含的各個磁盤的IO信息,每一個磁盤中包含的分區的IO信息和分區流量信息,以及各個磁盤的內存信息。
可選的,所述優化目標包括所述Kafka集群包含的所有磁盤的IO使用率的平均值與所有磁盤中IO使用率的最大值的差值比例,所述根據所述負載模型與預設的優化目標生成對應的優化任務包括:
根據所述Kafka集群包含的各個磁盤的IO信息計算所有磁盤IO使用率的平均值;
根據所述差值比例、所述Kafka集群包含的各個磁盤的IO信息以及所述平均值確定待優化的磁盤;
獲取所述待優化的磁盤中包含的各個分區的IO信息,并將IO使用率最大的分區作為所述優化任務中的待遷移分區;
獲取所述待優化的磁盤對應的節點服務器下的其他磁盤的IO信息,并根據其他磁盤的IO信息確定所述待遷移分區的目標遷移磁盤。
可選的,根據其他磁盤的IO信息確定所述待遷移分區的目標遷移磁盤包括:
根據其他磁盤的IO信息選取IO使用率最低的磁盤作為所述待遷移分區的目標遷移磁盤。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海嗶哩嗶哩科技有限公司,未經上海嗶哩嗶哩科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010812659.2/2.html,轉載請聲明來源鉆瓜專利網。





