我正在从academy.datastax.com学习Cassandra。我正在本地计算机上尝试复制和一致性演示。 RF = 3且一致性= 1。
当我的Node3关闭并且我使用update命令更新我的表时,SYSTEM.HINTS表应该存储node3的提示但它总是为空。
我是否需要对提示进行任何配置更改才能正常工作或默认设置正常?
control.RadYes.IsChecked = true;
答案 0 :(得分:4)
您是否使用完全相同版本的Cassandra来创建群集?从版本3+开始,提示存储在协调器的本地文件系统中。我问这个是因为在Datastax演示期间我发生了完全相同的事情(我使用的是3.0.3而不是2.1.5)我重复了这些步骤但是使用了2.1.5以及表格中的提示正如预期的那样。
答案 1 :(得分:1)
遇到同样的问题时遇到过这篇文章。最新版本的cassandra不会在system.hints表中存储提示。我正在使用cassandra 3.9,提示存储在文件系统中。
在cassandra.yaml文件中配置。
# Directory where Cassandra should store hints.
# If not set, the default directory is $CASSANDRA_HOME/data/hints.
# hints_directory: /var/lib/cassandra/hints
在我的情况下,我使用的是ccm,我能够在
找到提示${user_home}/.ccm/mycluster/node1/hints
其中mycluster是我的群集名称,node1是我的节点名称。希望这有助于某人。
答案 2 :(得分:0)
为了理解为什么没有写提示,你需要很好地掌握Cassandra replicates data的方法。
复制因子为2表示每行两个副本,每行一个 copy位于不同的节点上。所有复制品同样重要;那里 不是主要副本或主副本。
如果群集中的复制因子为3个和5个节点,则可能会丢失另一个节点,但仍未存储提示,因为您的数据复制策略仍然有效。尝试杀死另外两个节点,然后检查提示表。