У меня есть кластер Cassandra (Datastax с открытым исходным кодом), и в настоящее время аутентификация не настроена (т. Е. Он использует AllowAllAuthenticator), и я хочу использовать PasswordAuthenticator. В официальном документе говорится, что я должен выполнить следующие действия:
включить PasswordAuthenticator в cassandra.yaml,
перезапустите узел Cassandra, который создаст пространство ключей system_auth,
изменить фактор репликации system_auth,
создать нового пользователя и пароль
Однако для меня это большая проблема, потому что кластер используется в производстве, поэтому у нас не может быть простоя. Между шагами 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