Nodetool repair -pr -full vs Nodetool repair -pr
Nodetool repair -pr -full vs Nodetool repair -pr
我是 运行 一个有 1 个数据中心(6 个节点)的集群,每个节点上都安装了 Cassandra 3.11.0,复制因子为 2。我知道 nodetool repair -pr
将对该节点上的主要范围进行修复。我的问题是 nodetool repair -pr -full
与 nodetool repair -pr
有何不同?
我应该在重负载生产系统上使用哪个修复选项?
对于生产系统,最好使用令牌范围修复(使用 -st
/-et
选项)来限制节点上的负载。手动执行可能很乏味,但可以使用 Reaper 等工具自动执行,跟踪哪些令牌范围已经修复,哪些未修复。
my question is how nodetool repair -pr -full
is different from nodetool repair -pr
?
所以“完全”修复意味着源节点和目标节点之间的所有数据都将被验证和修复。本质上,它与“incremental”修复相反,后者只修复数据的一个子集。这两个选项控制修复了多少数据。
一旦决定(增量与完整),-pr
将 运行 在该子集上,然后才修复主副本。
此外,-full
是 Cassandra 3 的默认值;这将使 -pr
和 -pr -full
基本相同。
Which repair option should I use on a heavy load production system?
我支持 Alex 所说的,并为此推荐 Cassandra Reaper。它能够安排较慢时间的维修,并允许您暂停未及时完成的维修。
建议不要使用-PR选项执行增量修复。
它会跳过未修复的非主副本,这在长时间 运行 !!
中不是一个好习惯
我是 运行 一个有 1 个数据中心(6 个节点)的集群,每个节点上都安装了 Cassandra 3.11.0,复制因子为 2。我知道 nodetool repair -pr
将对该节点上的主要范围进行修复。我的问题是 nodetool repair -pr -full
与 nodetool repair -pr
有何不同?
我应该在重负载生产系统上使用哪个修复选项?
对于生产系统,最好使用令牌范围修复(使用 -st
/-et
选项)来限制节点上的负载。手动执行可能很乏味,但可以使用 Reaper 等工具自动执行,跟踪哪些令牌范围已经修复,哪些未修复。
my question is how
nodetool repair -pr -full
is different fromnodetool repair -pr
?
所以“完全”修复意味着源节点和目标节点之间的所有数据都将被验证和修复。本质上,它与“incremental”修复相反,后者只修复数据的一个子集。这两个选项控制修复了多少数据。
一旦决定(增量与完整),-pr
将 运行 在该子集上,然后才修复主副本。
此外,-full
是 Cassandra 3 的默认值;这将使 -pr
和 -pr -full
基本相同。
Which repair option should I use on a heavy load production system?
我支持 Alex 所说的,并为此推荐 Cassandra Reaper。它能够安排较慢时间的维修,并允许您暂停未及时完成的维修。
建议不要使用-PR选项执行增量修复。 它会跳过未修复的非主副本,这在长时间 运行 !!
中不是一个好习惯