cassandra迁移表数据

Posted 一碗豆浆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文件的路径(最新的表)
    

    等集群所有节点都执行完毕,表数据的迁移就完成了。

    

  

 

以上是关于cassandra迁移表数据的主要内容,如果未能解决你的问题,请参考以下文章

将数据从单节点 cassandra 集群迁移到另一个单节点 cassandra 集群

如何在spark中读写cassandra数据

Cassandra 将数据迁移到新服务器

Cassandra 异常缓存架构版本 X 与当前架构版本 Y 不匹配

cassandra集群缩容与剔除问题节点

为什么在将Cassandra迁移到Cosmos之后数据大小会增加?