ETCD使用中需要注意的問題--自動壓縮--最大字節數--存儲數據大小


ETCD使用中需要注意的問題

 

我們在實際生產中使用ETCD存儲元數據, 起初集群規模不大的時候元數據信息不多沒有發現什么問題。 隨着集群規模越來越大問題逐漸暴露了

有些實際的配置還是需要在初始化的時候就研究確定

1. --auto-compaction-retention

由於ETCD數據存儲多版本數據,隨着寫入的主鍵增加歷史版本需要定時清理, 默認的歷史數據是不會清理的,數據達到2G就不能寫入,必須要清理壓縮歷史數據才能繼續寫入;

所以根據業務需求,在上生產環境之前就提前確定,歷史數據多長時間壓縮一次; 我們的生產環境現在升級后是默認一小時壓縮一次數據。這樣可以極大的保證集群穩定,減少內存和磁盤占用

 

2.--max-request-bytes

etcd Raft消息最大字節數,ETCD默認該值為1.5M; 但是很多業務場景發現同步數據的時候1.5M完全沒法滿足要求,所以提前確定初始值很重要; 由於1.5M導致我們線上的業務無法寫入元數據的問題,

我們緊急升級之后把該值修改為默認32M,但是官方推薦的是10M,大家可以根據業務情況自己調整

 #最好按照官方的默認限制來儲存,單個value不要超過10M,只要不超過10M生產環境就會很穩定,一旦超過10M集群就會變的不穩定;

3.--quota-backend-bytes

ETCDdb數據大小,默認是2G,當數據達到2G的時候就不允許寫入,必須對歷史數據進行壓縮才能繼續寫入; 參加1里面說的,我們啟動的時候就應該提前確定大小,官方推薦是8G,這里我們也使用8G的配置

 

#啟動命令
/usr/bin/etcd --auto-compaction-retention '1' --max-request-bytes '33554432' --quota-backend-bytes '8589934592'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM