【问题标题】:Cassandra sometimes throws unauthorized errorCassandra 有时会抛出未经授权的错误
【发布时间】:2016-10-09 03:24:38
【问题描述】:

我们有一个多节点 Cassandra 集群,我们使用 Cassandra python 驱动程序进行插入查询。一切都很好,直到我们使用以下命令从集群中删除了一个节点:

nodetool removenode force

现在我们的驱动程序有时会遇到以下错误:

(<class 'cassandra.Unauthorized'>, Unauthorized(u'code=2100 [Unauthorized] message="User username has no MODIFY permission on <table keyspace.tablename> or any of its parents"',), <traceback object at 0x7fe2447910e0>)

我们对所有插入查询使用相同的用户,并且它具有所有必需的权限。

我们集群的问题是什么?

更多信息: 卡桑德拉版本 3.0.0 Python驱动3.0.0版

【问题讨论】:

  • 看来问题与Python驱动无关。通过 csqlsh 登录时是否有类似的问题?尝试通过 csqlsh 登录,看看效果如何。
  • @radkris cqlsh 也有这个问题。我使用超级用户登录,但有时查询会引发未经授权的错误。
  • 好的,那么问题可能不仅仅与特定的驱动程序或环境有关。根据错误消息(用户用户名对 或其任何父级没有 MODIFY 权限),看起来问题仅发生在某些表上。对吗?如果它只是发生仅适用于某些表。那么,这可能是一个一致性问题,修复可能会有所帮助。
  • @radkris 它发生在不同的表上。我运行了修复命令。需要几天时间才能完成。修复后我会检查的。
  • @radkris 修复后错误消失了。谢谢

标签: python cassandra unauthorized


【解决方案1】:

由于您强制删除节点数据现在可能不一致,您应该从修复 system_auth 键空间开始。

然后我会跟进所有其他键空间的全面修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    相关资源
    最近更新 更多