繁体   English   中英

在启动时间启用Cassandra PasswordAuthenticator

[英]Enable Cassandra PasswordAuthenticator at up time

我有一个Cassandra集群(Datastax开源),当前没有配置身份验证(即它正在使用AllowAllAuthenticator),并且我想使用PasswordAuthenticator。 官方文件说我应该遵循以下步骤:

  1. 在cassandra.yaml中启用PasswordAuthenticator,

  2. 重新启动Cassandra节点,这将创建system_auth密钥空间,

  3. 更改system_auth复制因子,

  4. 创建新的用户名和密码

但是,这对我来说是个大问题,因为该集群用于生产中,因此我们不会有任何停机时间。 在第2步和第4步之间,尚未配置任何用户,因此即使客户端提供了用户名和密码,该请求仍将被拒绝,这是不理想的。

我查看了Datastax Enterprise文档 ,它具有TransitionalAuthenticator类,该类将创建system_auth密钥空间,但不会拒绝请求。 我想知道是否可以将此类移植到开源版本吗? 还是有其他解决此问题的方法? 谢谢

更新这是我正在使用的Cassandra版本:

cqlsh 4.1.1 | Cassandra 2.0.9 | CQL spec 3.1.1 | Thrift protocol 19.39.0

假设正确的客户端配置,复制和群集容量,您应该只用一个节点就可以执行步骤2-4,停机时间为零。 然后,这只是其余节点的滚动重启。

客户端应提前设置凭据,并且随着具有授权者的节点联机,它们将开始将其用作节点(此行为可能取决于驱动程序-请首先试用)。

在使用CassandraAuthenticator之前,您也许可以为步骤3-4手动生成模式和数据,但这不是必须的。

您对停机时间有何担忧?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM