【发布时间】:2019-04-22 22:47:37
【问题描述】:
我正在将 DSE cassndra 从 4.8.16 升级到 5.0.15 ,但是当我执行 nodetool upgradesstables 时出现以下错误:
error: commitlog directory '/var/lib/cassandra/commitlog' or, if it does not already exist, an existing parent directory of it, is not readable and writable for the DSE. Check file system and configuration.
-- StackTrace --
org.apache.cassandra.exceptions.ConfigurationException: commitlog directory '/var/lib/cassandra/commitlog' or, if it does not already exist, an existing parent directory of it, is not readable and writable for the DSE. Check file system and configuration.
at org.apache.cassandra.config.DatabaseDescriptor.resolveAndCheckDirectory(DatabaseDescriptor.java:798)
at org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:535)
at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:131)
at org.apache.cassandra.tools.NodeProbe.checkJobs(NodeProbe.java:274)
at org.apache.cassandra.tools.NodeProbe.upgradeSSTables(NodeProbe.java:328)
at org.apache.cassandra.tools.nodetool.UpgradeSSTable.execute(UpgradeSSTable.java:54)
at org.apache.cassandra.tools.NodeTool$NodeToolCmd.run(NodeTool.java:253)
at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:167)
【问题讨论】:
-
您的
nodetool无法对/var/lib/cassandra/commitlog目录执行操作。/var/lib/cassandra/commitlog的权限是什么? -
我使用的是我定义的提交日志目录,而不是 /var/lib/cassandra/commitlog。我在 cassandra.yaml 中确认了位置
-
nodetool显然在使用/var/lib/cassandra/commitlog。cassandra.yaml中commitlog_directory的值是多少? -
它的 /sbclocal/apps/data/commitlog 在 cassandra.yaml.. 节点启动并运行良好,但只有升级失败。
-
我不知道为什么,但看起来
nodetool没有使用你的cassandra.yaml。也许您更新了错误的文件?
标签: cassandra datastax datastax-enterprise cassandra-3.0