[英]Move production env cassandra cluster to AWS cassandra without downtime
我在內部DC的生產環境中運行了4個節點的cassandra集群。 我必須把它移到AWS cassandra。 由於某些原因,我不希望將cassandra移動到dynamoDB。
使用的Cassandra版本很老,即1.2.9。
如何將cassandra從內部DC移動到AWS cassandra,而不會丟失數據和零停機時間。
此致,Vivek
在AWS中創建新DC。 配置兩個DC之間的DC間同步。 解散老DC。
https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsAddDCToCluster.html
我之前做過這個。
正如Alex Tbk所說,您將在AWS上添加一個帶有新數據中心的節點。
使用新的邏輯數據中心名稱添加新的空節點。 您需要使用GossipingPropertyFile
snitch(如果您還沒有)並在cassandra-rackdc.properties
文件中指定DC。 您還可以在該文件中指定邏輯機架,並且通常最好將AWS可用區域放在那里。
在構建一個AWS節點后,使用第一個節點的IP作為種子構建其余節點。 您不希望他們在重啟時嘗試擊中您的本地DC。 然后,您還需要將第一個節點設置為使用其他節點作為種子節點。
一旦構建了節點,就需要修改密鑰空間並為新的AWS DC指定復制因子。
使用現有DC作為源,在每個AWS節點上運行nodetool rebuild
。
nodetool rebuild -- sourceDCName
絕對考慮升級。 1.2是一個可靠的版本,但你錯過了很多新的功能/修復。
注意:有些人建議使用AWS特定的小程序( EC2Snitch
, EC2MultiRegionSnitch
),但是您希望群集中的所有節點都在同一EC2Snitch
EC2MultiRegionSnitch
運行。 因此,對於混合雲部署(在您有機會解除內部部署節點之前),您將需要堅持使用GossipingPropertyFile
。 老實說,這是我使用的唯一一個小問題,無論提供商,你也應該沒問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.