我們有兩個cassandra集羣,第一個擁有舊數據,第二個擁有新數據。將數據從cassandra遷移到cassandra
現在我們要將舊數據從第一個羣集移動或複製到第二個羣集。什麼是最好的方式來做到這一點,以及如何做到這一點?
我們正在使用DSE 3.1.4。
我們有兩個cassandra集羣,第一個擁有舊數據,第二個擁有新數據。將數據從cassandra遷移到cassandra
現在我們要將舊數據從第一個羣集移動或複製到第二個羣集。什麼是最好的方式來做到這一點,以及如何做到這一點?
我們正在使用DSE 3.1.4。
您可以嘗試的一種工具是COPY TO/FROM cqlsh命令。
在舊集羣中的一個節點,你可以使用COPY FROM:
cqlsh> COPY myTable (col1, col2, col3, col4) TO 'temp.csv'
然後一個節點上的新羣集(複製過該文件之後),你會複製的數據CSV文件導入卡桑德拉:
cqlsh> COPY myTable (col1, col2, col3, col4) FROM 'temp.csv'
這裏是關於COPY命令一些更多的文檔。
請注意,對於僅包含幾百萬行或更少行的表,建議使用COPY TO/FROM。對於更大的數據集,你應該看看:
有一個名爲/ usr/bin/sstableloader的工具用於在羣集之間複製數據。雖然當我在幾個月前使用它時,我遇到了錯誤並改爲使用this。但是自從很久以前,sstableloader可能已經被修復了。
做這些集羣配置相同的密鑰空間?什麼是複製?你想要在兩個羣集之間複製的所有數據還是僅保留在第二個羣集上? – RussS
必須更改keysapce的名稱,並且第一個羣集具有一個主鍵,而我們需要複製數據的第二個羣集具有複合主鍵。 – Ram