我有一个生产cassandra节点,想在我的本地计算机上创建相同的cassandra。据我了解,我可以选择以下选项
1. Taking snapshot of each keyspace from production and use it in local machine.(But It would take more time as I have many keyspace).
2. Exporting production cassandra data to as CSV and importing in to local cassandra(I have COUNTER TABLE. Hence,It also creating some headache - Correct me if it is not).
Run Code Online (Sandbox Code Playgroud)
我的问题是“如果将整个data_directory,Commit_log文件夹从生产环境移到本地并启动本地cassandra,将会发生什么?”。反正有可能吗?
当我执行上述解决方案时,cassandra会引发很多错误。
小智 3
如果您想要做的只是在本地计算机上重新创建生产节点,那么您真正需要做的就是复制所有内容(假设硬件相似)。
从生产:
到您的本地计算机(假设全新安装)
<data_dir>/<keyspace>/<columnfamily>/注意:这些清单并不完全彻底
在这种情况下,运行 nodetool Repair 并不是一个坏主意。假设您只想在本地计算机上重新创建生产节点(如问题中所述),那么它可能没有实际意义,因为快照将包含当前数据。如果修复被认为是必要的,那么运行 nodetool cleanup 也不会造成伤害。
回答你的问题:
如果您只是将数据目录和提交日志从生产环境复制到本地计算机上,则不会真正起作用,因为您需要重新创建键空间和列族以将数据放入其中。但是,如果您这样做了,那么说明还有其他事情在起作用。要将数据从一个 cassandra 环境获取到下一个环境,配置文件、数据目录(commitlogs、data、saved_cache 等)和模式脚本是最重要的。从那里您可能可以调试问题。全新安装(或将当前 data/commitlog/etc 目录重新映射到新目录,即 new_data、new_commitlog、new_saved_cache)可能是完成该任务的最简单方法。
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |