cassandra遷移表數據

  cassandra的遷移表數據有2種方式,以keyspace名爲mydb,table名爲user爲例子:html

方法一:copy命令。數據庫

  這種方式適合數據量較小的狀況。
  1.進入cqlsh,輸入命令:COPY mydb.user TO '/usr/usr.scv';服務器

  


  2.找到剛剛生成的usr.scv文件,複製到須要遷移的服務器上spa

  


  3.在遷移的數據中表user(表結構相同),而後輸入 COPY mydb.user FROM '/usr/user.scv';  注:這裏鍵空間能夠不一樣
  3d

  到這裏第一種方式就結束了,這種方式適合數據量較小的狀況。

htm

方法二:sstableloader
  
sstableloader提供了一種能夠跨集羣遷移數據的方案,參考資料 http://docs.datastax.com/en/cassandra/3.0/cassandra/tools/toolsBulkloader.html。
  使用這種方式,須要在遷移的數據庫中建相同的鍵空間和表結構
  使用命令:./sstableloader -d 192.168.3.90 -u cassandra -pw cassandra -t 100 /var/lib/cassandra/data/mydb/user-77470310dc9111e6b83b3767ed5523d2/
  
  
  
-d:遷移的服務器IP;-u:遷移集羣的用戶名;-pw:遷移集羣的用戶密碼;-t:限制流量; 最後的是被遷移集羣儲存數據的目錄(/.../keyspace_name/table_name)。
  注:
    1.若是集羣有多個節點,每一個節點都須要執行上面的命令
    2.有些時候一張表會有多個目錄
    

    如上圖這種狀況最後的路徑要選擇目錄下含有.db文件的路徑(最新的表)
    blog

    等集羣全部節點都執行完畢,表數據的遷移就完成了。

    table

相關文章
相關標籤/搜索