【问题标题】:Changing storage directory in cassandra database while there are already data in it更改 cassandra 数据库中已有数据的存储目录
【发布时间】:2020-05-14 01:00:56
【问题描述】:

我有一个有 16 个节点的 cassandra 集群,我的数据库有大约 5000 行数据。存储位置是默认的:/var/lib/cassandra/data。我想将位置更改为 /home/ubuntu/cassandradata ,其中 cassandradata 是指向具有更多空间的位置的符号链接。我的问题是:

1) 只需更改 cassandra.yaml 文件中的“data_file_directories”位置就足够了吗?

2) 如果我更改位置,数据库中已经存储的数据会怎样?他们会自动转移到新位置吗?我必须手动复制它们还是使用 COPY FROM/TO 更好(即在更改位置之前导出它们并在更改位置后导入它们)?

【问题讨论】:

    标签: cassandra directory local-storage


    【解决方案1】:

    这就是你想要做的:

    1. 关闭 DSE/Cassandra
    2. 将现有数据移至新目录
    3. 更改 cassandra.yaml 中的数据目录
    4. 启动 DSE/Cassandra

    应该可以的。

    【讨论】:

    • 你能告诉我更多关于 2 的信息吗?将整个 ../cassandra/data 文件夹复制粘贴到新位置,或者只是键空间的文件夹(位于 ../cassandra/data 内)??
    • @Des0lat0r 您需要将整个数据目录(所有键空间)复制到新位置。
    • 非常感谢您的回答!所以,要清楚,我必须在每个节点中将 /var/lib/cassandra/data 的所有内容复制到新位置:“mydb”、“system”、“system_auth”、“system_distributed”、“system_schema” , "system_traces"??
    • 另外,我应该在移动“/var/lib/cassandra/data”文件夹的内容之前执行“nodetool flush”吗??
    • 成功完成!非常感谢你们!
    猜你喜欢
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多