目前,commitlog目录指向Directory1。我想改变它不同的目录D2。迁移应该如何?
答案 0 :(得分:3)
这就是我们这样做的方式。我们有一个与Cassandra 1.1.2对话的负载均衡客户端,每个客户端都存在于每个Cassandra节点上。
systemctl stop <your service name>
iostat 2
- 磁盘活动应该接近零nodetool gossipinfo
nodetool disablegossip
nodetool flush
nodetool drain
systemctl stop cassandra
vi /etc/cassandra/default.conf/cassandra.yaml
systemctl start cassandra
tail -F /var/log/cassandra/system.log
nodetool ring
systemctl start <your service here>
请注意,我们无需手动复制commitlog文件本身。冲洗和排水处理了这一点。然后,文件会慢慢重新出现在新的commitlog_dir
位置。
答案 1 :(得分:2)
您可以更改cassandra.yaml(密钥:“commitlog_directory”)中的提交日志目录,并将所有日志复制到新目标。
commitlog_directory
存储提交日志的目录。默认位置: 包安装:/ var / lib / cassandra / commitlog Tarball 安装:install_location / data / commitlog用于最佳写入 性能,将提交日志放在单独的磁盘分区上,或 (理想情况下)与数据文件目录中的单独物理设备。 由于提交日志仅附加,因此可以使用HDD 这个目的。