卡桑德拉移动 data_file_firectories
Cassandra moving data_file_firectories
关于cassandra创建的数据文件和系统文件的位置,我需要移动"commitlog_directory"、"data_file_directories"和"saved_caches_directory",它们在"cassandra.yaml"配置中有设置文件。它当前位于默认位置“/var/lib/cassandra”。数据只是一些测试数据,当然系统生成的keyspace是
dse_perf
dse_system
OpsCenter
system
system_traces
还有commitlog和saved_caches.db要移动。
我正在考虑使用 linux shell 命令移动 keyspace 目录,但我不确定它们是否会以某种方式损坏。默认驱动器中根本没有 space,我们需要将所有内容移动到第二和第三安装驱动器。
现在我正在移动所有文件并重置 yaml 设置。
我有两个问题 -
关于 cassandra.yaml 文件,除此之外是否还有其他文件依赖于具有 commitlog_directory 和 data_file_directories 和 saved_caches_directory,一旦我移动所有这些文件,它们的 'wrong location' 会导致失败吗?我还担心表本身中的文件(如 db 文件)引用了它们自己的位置,并在移动后导致失败。
如果我只是移动三个设置commitlog_directory和data_file_directories和saved_caches_directory,dse/cassandra实际上会创建所有系统密钥spaces(system_traces、dse_perf、系统、OpsCenter、dse_system)、commitlof 和 saved_caches.db,以及任何其他上游配置文件是否会与那(与问题 1 的第一部分相同)?
这是一个非常新的安装,所以重新安装不会是世界末日,但我真的不想这样做,因为我们现在在这个集群之上有 kerberos 和各种其他东西。
这个OS是ubuntu14.0.4,DSE版本是4.7。
我也能够移动所有文件和提交日志。我更改了 yaml 并将其指向我想要它去的地方。之后记得 运行 以下命令 -
chown -R cassandra:cassandra
瞧!一切都是 reading/writing 应该的。 Cassandra 是 neato。
我刚做完这个。我的实例在 AWS EC2 中,因此您的过程可能会有所不同,但本质上:
- 创建一个新卷并将其附加到实例。我的新设备是
/dev/xvdg.
- 创建新的挂载点
sudo mkdir /new_data
- 格式化新卷
sudo mkfs -t ext4 /dev/xvdg
- 编辑 /etc/fstab 以便您的坐骑在重启后仍然存在并添加此
第
/dev/xvdg /new_data ext4 defaults,nofail,nobootwait 0 2
行
- 安装新卷
sudo mount -a
- 创建新目录
sudo mkdir -p
/new_data/lib/cassandra/commitlog
- 拥有所有权
sudo chown -R cassandra:cassandra
/new_data/lib/cassandra
- 更改 cassandra.yaml 以指向新目录
- 耗尽节点。如果您要移动数据目录,请复制数据
从旧位置到新位置。如果你要搬家
仅提交日志,只需重新启动 cassandra。
关于cassandra创建的数据文件和系统文件的位置,我需要移动"commitlog_directory"、"data_file_directories"和"saved_caches_directory",它们在"cassandra.yaml"配置中有设置文件。它当前位于默认位置“/var/lib/cassandra”。数据只是一些测试数据,当然系统生成的keyspace是
dse_perf
dse_system
OpsCenter
system
system_traces
还有commitlog和saved_caches.db要移动。
我正在考虑使用 linux shell 命令移动 keyspace 目录,但我不确定它们是否会以某种方式损坏。默认驱动器中根本没有 space,我们需要将所有内容移动到第二和第三安装驱动器。
现在我正在移动所有文件并重置 yaml 设置。
我有两个问题 -
关于 cassandra.yaml 文件,除此之外是否还有其他文件依赖于具有 commitlog_directory 和 data_file_directories 和 saved_caches_directory,一旦我移动所有这些文件,它们的 'wrong location' 会导致失败吗?我还担心表本身中的文件(如 db 文件)引用了它们自己的位置,并在移动后导致失败。
如果我只是移动三个设置commitlog_directory和data_file_directories和saved_caches_directory,dse/cassandra实际上会创建所有系统密钥spaces(system_traces、dse_perf、系统、OpsCenter、dse_system)、commitlof 和 saved_caches.db,以及任何其他上游配置文件是否会与那(与问题 1 的第一部分相同)?
这是一个非常新的安装,所以重新安装不会是世界末日,但我真的不想这样做,因为我们现在在这个集群之上有 kerberos 和各种其他东西。
这个OS是ubuntu14.0.4,DSE版本是4.7。
我也能够移动所有文件和提交日志。我更改了 yaml 并将其指向我想要它去的地方。之后记得 运行 以下命令 -
chown -R cassandra:cassandra
瞧!一切都是 reading/writing 应该的。 Cassandra 是 neato。
我刚做完这个。我的实例在 AWS EC2 中,因此您的过程可能会有所不同,但本质上:
- 创建一个新卷并将其附加到实例。我的新设备是 /dev/xvdg.
- 创建新的挂载点
sudo mkdir /new_data
- 格式化新卷
sudo mkfs -t ext4 /dev/xvdg
- 编辑 /etc/fstab 以便您的坐骑在重启后仍然存在并添加此
第
/dev/xvdg /new_data ext4 defaults,nofail,nobootwait 0 2
行
- 安装新卷
sudo mount -a
- 创建新目录
sudo mkdir -p /new_data/lib/cassandra/commitlog
- 拥有所有权
sudo chown -R cassandra:cassandra /new_data/lib/cassandra
- 更改 cassandra.yaml 以指向新目录
- 耗尽节点。如果您要移动数据目录,请复制数据 从旧位置到新位置。如果你要搬家 仅提交日志,只需重新启动 cassandra。