当前位置: 首页 > 知识库问答 >
问题:

删除表/keyspace/user/role后,Cassandra总是崩溃

彭涵衍
2023-03-14

操作系统:windows7

卡桑德拉:3.11.2

JDK:jdk-9.0.4

客户:卡珊德拉·夏普德瑞·3.4.0.1(或通过卡珊德拉的NoSQL经理)

cassandra进程在执行任何删除操作时总是崩溃:

>

  • 删除键空间,删除表(如果在手动重新启动后检查,则可以删除);

    删除用户、角色(一旦创建就不能删除)

    有人知道真正的原因以及如何更改配置吗?以下是system.log中的错误详细信息:

    错误 [非周期任务:1] 2018-MM-DD HH:01:17,878 日志事务.java:354 - C 的删除失败:\卡桑德拉-3.11.2\数据\system_auth\resource_role_permissons_index-5f2fbdad91f13946bd25d5da3a5c35ec\mc-19-大, 我们将在 GC 和服务器重新启动错误后重试 [非周期任务:1] 2018-MM-DD HH:01:17,880 LogTransat.java:236 - 无法删除 C:\cassandra-3.11.2\数据\system_auth\resource_role_permissons_index-5f2fbdad91f13946bd25d5d5da3a5c35ec\mc-17-大数据.db java.nio.file.AccessDeniedException: C:\cassandra-3.11.2\data\system_auth\resource_role_permissons_index-5f2fbdad91f13946bd25d5d5da3a5c35ec\mc-17-big-Data.db在 java.base/sun.nio.fs.WindowsException.translateToIOException(未知来源) ~[na:na] at java.base/sun.nio.fs.WindowsException.rethope(未知来源) ~[na:na] at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(未知来源) ~[na:na] at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(未知来源) ~[na:na] 在 java.base/sun.nio.fs.AbstractFileSystemProvider.delete(未知来源) ~[na:na] 在 java.base/java.nio.file.file.delete(未知来源) ~[na:na] 在组织.apache.cassandra.db.生命周期.LogTransaction.delete(LogTransaction.java:219) ~[apache.jar-cassandra-3.11.2.jar:3.11.2] 在组织.apache.cassandra.db.生命周期.LogTransaction$SSTableTidier.run(LogTransaction.java:345)3.11.2.3.11.2] [apache-.java cassandra-3.11.2.jar:3.11.2] 在 org.apache.cassandra.utils.concurrent.cn.ref$GlobalState.release(Ref.java:321) [apache-cassandra-3.11.2.jar:3.3.2 11.2] 在组织.apache.cassandra.utils.utils.concurrent.ref$state.release(Ref.java:220) [apache-cassandra-3.11.2.jar:3..jar.java 11.2]at org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier$1.run(SSTableReader.java:2193) [apache-cassandra-3.11.2.jar:3.11.2] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(未知来源) [na:na] at java.base/java.util.futureTask.run(未知来源) [na:na] at java.base/java.util.concurrent.scheduledThreadPoolExecutor$ScheduledFuTask.run(未知来源) [na:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) [na:na] at java.base/java.util.concurrent.线程池executor$Worker.run(未知来源) [na:na] at org.apache.cassandra.concurrent.namedThreadFactory.lambda$threadLocalDealDealator$0(命名ThreadFactory.java:81) [apache-cassandra-3.11.2.jar:3.11.2] 在 java.base/java.lang.Thread.run(未知来源) ~[na:na] 错误 [非周期性任务:1] 2018-MM-DD HH:01:17,880 LogTransaction.java:354 - 失败的删除 C:\cassandra-3.11.2\data\system_auth\resource_role_permissons_index-5f2fbdad91f13946bd25d5d5da3a5c35ec\mc-17-big,我们将在 GC 和服务器重新启动错误后重试 [MemtablePostFlush:2] 2018-MM-DD HH:01:19,378 存储服务.java:441 - 停止本机传输信息 [MemtablePostFlush:2] 2018-MM-DD HH:01:19,393 服务器.java:176 - 停止侦听 CQL 客户端

  • 共有1个答案

    干子瑜
    2023-03-14

    系统数据库文件的文件权限有问题。在您的日志中,您有以下内容:

    无法删除C:\cassandra-3.11.2\data\system_auth\resource_role_permissons_index-5f2fbdad91f13946bd25d5da3a5c35ec\mc-17-big-Data.dbjava.nio.file.AccessDeniedException: C:\cassandra-3.11.2\data\system_auth\resource_role_permissons_index-5f2fbdad91f13946bd25d5da3a5c35ec\mc-17-big-Data.db

    请更改给定目录(C:\cassandra-3.11.2\data)对运行Cassandra的用户可写访问的权限。

     类似资料:
    • DROP TABLE命令用于删除表。 语法: 示例: 我们来举个例子来演示如何删除/丢弃一个表。 在这里作为演示将删除 表。 使用以下命令后: 现在名为“”的表。 您可以使用命令验证表是否被删除。 这里“”表已被删除; 不会在列系列列表中找到它。 输出结果如下 -

    • 主要内容:什么是键空间(Keyspace)?,Cassandra Keyspace的不同组件Cassandra查询语言(CQL)可帮助开发人员与Cassandra沟通交互。 Cassandra查询语言的语法与SQL非常相似。 什么是键空间(Keyspace)? 键空间()是用于保存列族,用户定义类型的对象。 键空间(Keyspace)就像RDBMS中的数据库,其中包含列族,索引,用户定义类型,数据中心意识,键空间(Keyspace)中使用的策略,复制因子等。 在Cassandra中,“”

    • 命令用于删除指定的索引。 如果索引创建时未指定索引名称,则索引名称为。 语法 或者 - 删除索引的规则 如果索引不存在,它将返回错误,除非您使用,否则不返回任何操作。 在创建索引期间,您必须使用索引名称指定名称,否则将当前键空间中的索引删除。 示例: 下面举个例子来演示如何删除某列上的索引。 在这里,我们将创建的索引放在表“”中的“”列中。键空间的名称是“”。 如下语句 - 从“”列中删除索引。

    • 我想使用spring security 5.3 我的代码中有什么错误?

    • 在Cassandra中,“”命令用于从Cassandra中删除所有数据,列族,用户定义的类型和索引的键空间。 Cassandra在删除键空间之前,先获取键空间的快照。 如果Cassandra中不存在keyspace,Cassandra将返回错误,除非使用关键字。 语法 示例: 我们举一个例子来删除名为“”的键空间(keyspace)。 验证: 在执行上述命令后,从Cassandra中删除键空间“”

    • 问题内容: 范围:两个表。创建新的顾客时,他们会将有关他们的一些信息存储到第二张表中(这也使用触发器完成,它可以按预期工作)。这是我的表结构和关系的示例。 表1-> 顾客 表2-> patron_info 管理员可以管理顾客。当他们选择移走顾客时,将顾客从 桌子1 移开。此时, 表2 没有任何反应。 我只是想创建一个触发器,以便在表1的项目已删除时从表2中删除。这是我尝试过的… 最初,我尝试删除触