[置頂] Aerospike數據庫實戰(六) -- 踩坑&經驗總結
來源:程序員人生 發布時間:2017-02-21 08:09:25 閱讀次數:8705次
問題1:Aerospike集群同時擴容兩個節點時,集群可能會出現意外情況。
經驗教訓:從Aerospkie社區找到官方回復,Aerospike擴容時每次只能擴容1個節點。
擴容方法是將新增節點UDP組播地址和端口配置成跟現有集群組播地址1致。同時擴容1個以上節點時,會出現意想不到的情況。
問題2:Aerospike集群擴容進程中需要5分鐘左右的時間同步節點信息、重啟分配Partition,此進程中可能會出現集群停止服務的情況。
經驗教訓:集群擴容之前需要評估aerospike集群幾分鐘停止對外服務的影響,提早做好預案,例如:用小的Redis集群作為Aerospkie的備,Aerospkie集群升級之前暫時切入Redis集群讀取數據。
問題3:Aerospike集群擴容成功后各節點之間會有大量的數據遷移,數據遷移會和客戶端競爭讀寫資源從而影響到線上讀寫性能。
經驗教訓:需要在遷移之前配置好公道的數據遷移相干參數,控制數據遷移進度,避免出現數據遷移占用過量資源、乃至服務重啟的情況。
問題4:Aerospike數據庫在啟動前需要將全部的1級索引、2級索引load到內存中。當節點數據量比較大時候全部load進程非常耗時。
經驗教訓:2級索引只是聚合場景下會被使用到,如果沒有聚合使用處景,可以關閉2級索引,以加快Aerospike服務啟動進度。
問題5:正常的重啟流程是,1個節點1個節點的重啟,如果直接重啟所有節點會出現備份數據被刪除的情況。
經驗教訓:為了保證數據不丟失,嚴格依照標準的重啟流程來,每一個節點重啟完后等待數據遷移完成后,再重啟下1個節點
問題6:access-address 參數配置成內網ip還是配置成外網ip適合?不配的話會出現甚么情況?
經驗教訓:
access-address 用來配置集群ip參數列表提供給客戶端使用。如果既需要外網訪問,有需要內網訪問,那末就不用配置這個參數。只需要內網訪問配置成內網IP,只需要外網訪問的話配置成外網IP.
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈