cassandra遷移表數據


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

方法一:copy命令。

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

  


  2.找到剛剛生成的usr.scv文件,復制到需要遷移的服務器上

  


  3.在遷移的數據中表user(表結構相同),然后輸入 COPY mydb.user FROM '/usr/user.scv';  注:這里鍵空間可以不同
  

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

方法二: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文件的路徑(最新的表)
    

    等集群所有節點都執行完畢,表數據的遷移就完成了。

    

  

 


免責聲明!

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



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