У меня есть кластер Cassandra (открытый источник Datastax), и в настоящее время нет настроенной аутентификации (т. Е. Используется AllowAllAuthenticator), и я хочу использовать PasswordAuthenticator. official document говорит, что я должен выполнить следующие действия:Включить аутентификатор паролей Cassandra во время работы
позволяют PasswordAuthenticator в cassandra.yaml,
рестарт узел, Cassandra, которые создадут system_auth,
пространство ключейизменения репликации system_auth фактор,
создание нового пользователя и пароль
Однако это большая проблема для меня, потому что кластер используется в производстве, поэтому у нас не может быть простоев. Между шагами 2 и 4 пользователь еще не настроен, поэтому, даже если клиент поставляет имя пользователя и пароль, запрос все равно будет отклонен, что не является идеальным.
Я просмотрел Datastax Enterprise doc и имеет класс TransitionalAuthenticator, который создавал бы пространство ключей system_auth, но без отклонения запросов. Интересно, можно ли поместить этот класс в версию с открытым исходным кодом? Или, если есть другие способы решения этой проблемы? Благодаря
Update Это версия Кассандры я использую:
cqlsh 4.1.1 | Cassandra 2.0.9 | CQL spec 3.1.1 | Thrift protocol 19.39.0
Спасибо за ваш ответ. Клиент действительно настроен для отправки учетных данных, а также способен загружать баланс между узлами. Есть две проблемы: 1) если клиент не может подключиться к одному узлу, он попробует следующее, что потребует дополнительного времени запроса (это критически важная для системы), и 2) другие узлы могут внезапно испытывать большие объем запросов, которые замедлят или даже сбой их. – stackoverflower
В зависимости от того, какой клиентский драйвер, с которым вы используете нисходящий узел, должен быть выведен из балансировки нагрузки, поэтому дальнейшие запросы не будут учитываться вообще. Если это приложение не может поддерживать отключение одного узла, у вас нет способа сделать это или многие другие задачи обслуживания. –