Назад | Перейти на главную страницу

Пространство ключей system_auth перезаписано в кластере Cassandra

Я добавлял Node2 к другому cassandra Node1, чтобы сформировать кластер, и я потерял свою базу данных пользователей (что вызвало проблемы с аутентификацией). Я ценю, если кто-то может помочь мне понять, что произошло (чтобы этого не случилось снова, когда я добавлю еще один узел).

Узел 1 находится в DCA, а узел 2 - в DCB. Я настроил файл конфигурации yaml в Node2 и открыл его, только чтобы обнаружить, что брандмауэры препятствуют правильной связи между ними.

После устранения проблемы со связью я обнаружил, что у меня проблема с аутентификацией, и мои пользователи больше не существуют, и я должен войти в систему с пользователем cassandra / cassandra по умолчанию и пройти. System_auth узла 1 был перезаписан копией с нового узла 2 (у которого не было пользователей, а был только пользователь по умолчанию).

Моя конфигурация включает:

endpoint_snitch: GossipingPropertyFileSnitch
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer

Вопрос: Почему новое пользовательское пространство ключей system_auth заменило старое?

Чтобы исправить проблемы, я убедился, что общение в порядке. Я отключил новый узел Node2, очистил его каталог данных и снова присоединился к нему. Затем я определил пользователей с нуля (который был реплицирован на оба узла). И мой собственный kyspace, и te system_auth были изменены, чтобы иметь по одной реплике на каждом сервере (и в центре обработки данных).

{'class' : 'NetworkTopologyStrategy', 'DCA' : 1, 'DCB' : 1 } (for both my own and system_auth keyspaces)

Для любого системного пространства ключей стратегия репликации должна быть только локальной стратегией, а не сетевой. Причина, по которой ваше пространство ключей system_auth было изменено, заключается в том, что когда вы устанавливали Cassandra на новый узел, он создавал system_auth keysapce и имел самую новую отметку времени. Будучи стратегией сетевой топологии, она реплицируется на более старый узел. Надеюсь, это объясняет ситуацию.