cassandra 3.5无法加载触发器类

问题描述 投票:1回答:2

我正在尝试使用Cassandra触发器,但我无法让Cassandra加载它们。我已经从herehere构建了jar文件,并将它们放在C:\Program Files\DataStax-DDC\apache-cassandra\conf\triggers下。我重新启动了DataStax_DDC_Server服务(在Windows上)并重新打开了CQLSH命令行,但是尝试在create trigger命令中使用触发器类只给我:

ConfigurationException: <ErrorMessage code=2300 [Query invalid because of configuration issue] message="Trigger class 'org.apache.cassandra.triggers.InvertedIndex' doesn't exist">

我检查了jar文件,它们包含了类文件。我在cassandra的日志文件中找到的唯一的东西是Trigger directory doesn't exist, please create it and try again.但我不知道这是否相关。


编辑:在显示here的最后一行之后,我编辑了cassandra.bat文件。现在,如果我停止DataStax_DDC_Server服务并直接运行bat文件,create trigger命令会成功。然而,该服务似乎独立于此bat文件。现在的问题是如何将相同的配置应用于服务?

java triggers cassandra cql
2个回答
0
投票

创造性地使用Google搜索后,我找到了解决方案。如上所述here你需要明确设置cassandra.triggers_dir变量,但是如果here解释,服务要提取它,你必须在注册表中配置它。所以答案是更新注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\DataStax_CDC_Server\Parameters\Java\Options

并添加该行

-Dcassandra.triggers_dir=C:\Program Files\DataStax-DDC\apache-cassandra\conf\triggers

请注意,路径不应包含在引号中,否则将无效。别忘了重启服务。


-1
投票

以上解决方案正在为窗口工作。在窗口中找到注册表选项很困难。所以要找到注册表选项转到开始菜单并键入“regedit”它将打开注册表窗口然后你可以做上面的设置。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.