Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试清理Cassandra节点时出错_Cassandra - Fatal编程技术网

尝试清理Cassandra节点时出错

尝试清理Cassandra节点时出错,cassandra,Cassandra,我在使用nodetool启动cleanup命令时遇到问题 到目前为止,清理工作做得很好。我没有发现我的配置有任何修改。我不知道会有什么变化 nodetool > cleanup error: Expecting URI in variable: [cassandra.config]. Found[cassandra.yaml]. Please prefix the file with [file:///] for local files and [file://<server>

我在使用nodetool启动cleanup命令时遇到问题

到目前为止,清理工作做得很好。我没有发现我的配置有任何修改。我不知道会有什么变化

nodetool > cleanup
error: Expecting URI in variable: [cassandra.config]. Found[cassandra.yaml]. Please prefix the file with [file:///] for local files and [file://<server>/] for remote files. If you are executing this from an external tool, it needs to set Config.setClientMode(true) to avoid loading configuration.
-- StackTrace --
org.apache.cassandra.exceptions.ConfigurationException: Expecting URI in variable: [cassandra.config]. Found[cassandra.yaml]. Please prefix the file with [file:///] for local files and [file://<server>/] for remote files. If you are executing this from an external tool, it needs to set Config.setClientMode(true) to avoid loading configuration.
        at org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:80)
        at org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:100)
        at org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:262)
        at org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:180)
        at org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:151)
        at org.apache.cassandra.tools.NodeProbe.checkJobs(NodeProbe.java:281)
        at org.apache.cassandra.tools.NodeProbe.forceKeyspaceCleanup(NodeProbe.java:288)
        at org.apache.cassandra.tools.nodetool.Cleanup.execute(Cleanup.java:55)
        at org.apache.cassandra.tools.NodeTool$NodeToolCmd.run(NodeTool.java:255)
        at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:169)
nodetool>清理
错误:变量[cassandra.config]中应包含URI。找到[cassandra.yaml]。对于本地文件,请在文件前面加上[file://],对于远程文件,请在文件前面加上[file://]。如果您是从外部工具执行此操作,则需要设置Config.setClientMode(true)以避免加载配置。
--堆栈跟踪--
org.apache.cassandra.exceptions.ConfigurationException:变量[cassandra.config]中应为URI。找到[cassandra.yaml]。对于本地文件,请在文件前面加上[file://],对于远程文件,请在文件前面加上[file://]。如果您是从外部工具执行此操作,则需要设置Config.setClientMode(true)以避免加载配置。
位于org.apache.cassandra.config.YamlConfigurationLoader.getStorageConfigURL(YamlConfigurationLoader.java:80)
位于org.apache.cassandra.config.YamlConfigurationLoader.loadConfig(YamlConfigurationLoader.java:100)
位于org.apache.cassandra.config.DatabaseDescriptor.loadConfig(DatabaseDescriptor.java:262)
位于org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:180)
位于org.apache.cassandra.config.DatabaseDescriptor.toolInitialization(DatabaseDescriptor.java:151)
位于org.apache.cassandra.tools.NodeProbe.checkJobs(NodeProbe.java:281)
位于org.apache.cassandra.tools.NodeProbe.forceKeyspaceCleanup(NodeProbe.java:288)
位于org.apache.cassandra.tools.nodetool.Cleanup.execute(Cleanup.java:55)
位于org.apache.cassandra.tools.NodeTool$NodeToolCmd.run(NodeTool.java:255)
位于org.apache.cassandra.tools.NodeTool.main(NodeTool.java:169)
有什么想法吗

问候,


Nicolas

Nodetool使用cassandra.yaml查找并发压缩程序的数量。因为您已经使用cassandra.yaml设置了它,但是cassandra.config有一个无效的值,所以nodetool阻塞了它。

我确实找到了一个适合我的解决方案(但我认为它是特定于我的产品环境的)

在某个地方,应该使用/etc/alternative/cassandra符号链接,它指向我的空默认cassandra配置。 在我纠正它之后:

[root@myhost ~]# ll /etc/alternatives/
total 116
lrwxrwxrwx 1 root root 30 Oct  2 12:40 cassandra -> /etc/cassandra/my-cassandra-instance
完成后,我可以清理我的卡桑德拉集群

没有更多的时间处理这个案子

无论如何,谢谢你的线索,这是一个背景问题


Nicolas

是您发出的实际命令:“nodetool>cleanup”?如果是这样,那就行不通了。除非我误解了你粘贴的文本。什么版本的cassandra?大家好,我运行的是cassandra 3.11.3-1,实际的命令就是那个。为什么它不起作用?我用了这么多次,没有任何问题。嗨,克里斯,谢谢你的引导。你知道我如何更改这个cassandra.config值吗?你可以在
nodetool
脚本(
-Dcassandra.config)中重写它=file:///path/cassandra.yaml
)但可能值得尝试追踪您的环境中导致错误的原因。你是怎么安装的?你能用普通的包裹吗?