创建一个新的 Cassandra 并进行简单的插入会导致意外警告:
SharedPool-Worker-1] WARN o.apache.cassandra.utils.FBUtilities - Trigger directory doesn't exist, please create it and try again.
检查源代码,发现 Cassandra 期望触发器目录(默认名称为“triggers”)存在。
因为我每次都启动一个新的 Cassandra,所以我想知道如何建议 Cassandra 自己创建触发器目录。我不想人为地摸索它。
[update] Cassandra使用默认的main方法,在用户空间启动。由于在 cassandra.yaml 定义期间创建了缓存、数据和第三个目录,我想知道在哪里指定触发器目录或将如何创建它。
@关闭尖叫者 在日志中有一个不应该存在的恼人警告是我认为的错误所以请允许这个问题...。 (没有冒犯,只是普通的 stackoverflow 乞讨)
最佳答案
正如我从 FBUtilities.cassandraTriggerDir 方法的代码中了解到的,属性“cassandra.triggers_dir”在尝试默认触发器目录“triggers”之前被读取。通过将属性设置为正确的目录(创建后)解决了这个问题。
问题的主要原因首先是触发器目录根本不存在,其次是 Cassandra 目录不是类路径的一部分。因此,Cassandra 不可能无法正确检测到触发目录。
总结一下,这个问题缺少一个 cassandra.yaml 条目。
PS:感谢布莱斯的帮助!
关于java - 避免Cassandra 2.1警告触发目录不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29962985/