当16个节点中的1个节点关闭时,cassandra中的身份验证失败

时间:2015-06-18 18:27:15

标签: authentication cassandra

我正在运行一个Cassandra集群:

Cassandra 2.0.11.83 | DSE 4.6.0 | CQL规范3.1.1 |节俭协议19.39.0

群集有18个节点,分为3个数据中心,每个数据中心6个。我的system_auth键空间定义了以下复制:

replication = {   'class':'NetworkTopologyStrategy',   'DC1':'4',   'DC2':'4',   'DC3':'4'}

我的验证者/授权人设置为:

authenticator:org.apache.cassandra.auth.PasswordAuthenticator

授权人:org.apache.cassandra.auth.CassandraAuthorizer

今天早上我把DC1中的一个节点放下来进行维护。在几秒钟/分钟内,客户端应用程序开始记录这样的异常:

“用户my_application_user对其父母或其任何父母没有MODIFY权限”

在其中一个节点上运行'列出my_application_user的所有权限'表示用户在密钥空间xxxxx上有SELECT和MODIFY,所以我很困惑。我有安装问题吗?这是某种错误吗?

1 个答案:

答案 0 :(得分:1)

重新发布此答案,正如BrianC上面所说的那样。

所以这个问题已得到解决......以下是似乎修复过它的事件序列:

  1. 再添加18个节点
  2. 在原始节点上运行清理(这是原始计划的一部分)
  3. 在1个表上运行一个scrub,因为它在清理时抛出异常
  4. 在原始故障节点上的system_auth KS上运行修复
  5. 等待修复服务在所有键空间上完成完整传递
  6. Decom原创18个节点。
  7. 老实说,我不知道修复了什么。 system_auth修复最有意义,但没有意义的是之前它已经运行了很多次,所以为什么现在工作,我不知道。我希望这至少可以帮助别人。