[發明專利]基于Kafka集群的分區優化方法和系統在審
| 申請號: | 202010812659.2 | 申請日: | 2020-08-13 |
| 公開(公告)號: | CN111966289A | 公開(公告)日: | 2020-11-20 |
| 發明(設計)人: | 鄭志升;丁賽男 | 申請(專利權)人: | 上海嗶哩嗶哩科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06;G06F9/54 |
| 代理公司: | 北京英特普羅知識產權代理有限公司 11015 | 代理人: | 鄧小玲;王勇 |
| 地址: | 200433 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 kafka 集群 分區 優化 方法 系統 | ||
1.一種基于Kafka集群的分區優化方法,其特征在于,所述方法包括:
獲取各個節點服務器的運行指標數據,所述運作指標數據包括所述節點服務器運行時的CPU信息、內存信息以及磁盤IO信息;
獲取各個節點服務器中包含的磁盤與分區的對應關系,以及獲取各個節點服務器中包含的分區的IO信息;
根據獲取到的所述運行指標數據、所述對應關系以及所述分區的IO信息構建所述Kafka集群的負載模型;
根據所述負載模型與預設的優化目標生成對應的優化任務;
將所述優化任務發送至所述Kafka集群,以使所述Kafka集群根據所述優化任務執行分區優化操作,其中,所述分區優化操作包含分區遷移操作和分區擴容操作中的至少一種。
2.根據權利要求1所述的基于Kafka集群的分區優化方法,其特征在于,所述負載模型包括Kafka集群包含的各個磁盤的IO信息,每一個磁盤中包含的分區的IO信息和分區流量信息,以及各個磁盤的內存信息。
3.根據權利要求2所述的基于Kafka集群的分區優化方法,其特征在于,所述優化目標包括所述Kafka集群包含的所有磁盤的IO使用率的平均值與所有磁盤中IO使用率的最大值的差值比例,所述根據所述負載模型與預設的優化目標生成對應的優化任務包括:
根據所述Kafka集群包含的各個磁盤的IO信息計算所有磁盤的IO使用率的平均值;
根據所述差值比例、所述Kafka集群包含各個磁盤的IO信息以及所述平均值確定待優化的磁盤;
獲取所述待優化的磁盤中包含的各個分區的IO信息,并將IO使用率最大的分區作為所述優化任務中的待遷移分區;
獲取所述待優化的磁盤對應的節點服務器下的其他磁盤的IO信息,并根據其他磁盤的IO信息確定所述待遷移分區的目標遷移磁盤。
4.根據權利要求3所述的基于Kafka集群的分區優化方法,其特征在于,根據其他磁盤的IO信息確定所述待遷移分區的目標遷移磁盤包括:
根據其他磁盤的IO信息選取IO使用率最低的磁盤作為所述待遷移分區的目標遷移磁盤。
5.根據權利要求4所述的基于Kafka集群的分區優化方法,其特征在于,根據其他磁盤的IO信息確定所述待遷移分區的目標遷移磁盤之后,還包括:
判斷所述目標遷移磁盤是否符合預設條件;
若不符合預設條件,則選擇其他節點服務器下的磁盤中IO使用率最低的磁盤作為所述待遷移分區的遷移磁盤,其中,所述其他節點服務器為所述Kafka集群中除所述待優化的磁盤對應的節點服務器之外的節點服務器。
6.根據權利要求2所述的基于Kafka集群的分區優化方法,其特征在于,所述優化目標包括第一磁盤容量占比,所述根據所述負載模型與預設的優化目標生成對應的優化任務包括:
獲取所述Kafka集群包含的各個磁盤的內存信息,并根據獲取到的內存信息確定各個磁盤的第二磁盤容量占比;
根據所述第一磁盤容量占比與所述第二磁盤容量占比確定待優化的磁盤;
獲取所述待優化的磁盤中包含的各個分區的流量信息,并將流量最大的分區作為所述優化任務中的待擴容分區。
7.根據權利要求1至6任一項所述的基于Kafka集群的分區優化方法,其特征在于,所述方法還包括:
將IO使用率大于預設值的分區推送至與所述Kafka集群連接的Zookeeper,以使所述Zookeeper通過網關將所述將IO使用率大于預設值的分區剔除。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海嗶哩嗶哩科技有限公司,未經上海嗶哩嗶哩科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010812659.2/1.html,轉載請聲明來源鉆瓜專利網。





