2017-07-03 5 views
0

Ich führe gerade einen einzigen Knoten. Ich versuche, die Passwort-Authentifizierung für Cassandra zu aktivieren.Cassandra - Konsistenzniveau kann nicht erreicht werden QUORUM

Ich folge dieser Anleitung: http://cassandra.apache.org/doc/latest/operating/security.html#password-authentication

Ich werde merken, dass ich nicht system_auth ‚s Replikation änderte, wie es ein einzelner Knoten-Cluster ist.

Ich bearbeitet cassandra.yaml, um authenticator: PasswordAuthenticator zu verwenden.

ich neu gestartet dann cassandra und versuchte, den Befehl cqlsh -u cassandra -p cassandra, aber das gibt mir den Fehler:

Connection error: ('Unable to connect to any servers', 
{'127.0.0.1': AuthenticationFailed(u'Failed to authenticate to 127.0.0.1: 
code=0100 [Bad credentials] message="org.apache.cassandra.exceptions. 
UnavailableException: Cannot achieve consistency level QUORUM"',)}) 

Ich habe versucht nodetool repair läuft, aber es sagt: Replication factor is 1. No repair is needed for keyspace 'system_auth'

Wie kann ich dieses Problem lösen?

Antwort

3

Ich schaffte es, das Problem zu lösen.

Ich musste ALTER KEYSPACE system_auth WITH replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; ausführen, wie es zuvor auf {'class': 'NetworkTopologyStrategy', 'DC1': '1', 'DC2': '1'} festgelegt wurde, obwohl es ein einzelner Knotencluster war.

Deshalb konnte es kein QUORUM erreichen.

1

In 1-Knoten (oder 2-Knoten) -Konfigurationen QUORUM unmöglich ist, und die Reparatur ist nicht erforderlich (wie es verwendet wird, um Daten Inkonsistenzen zwischen Knoten zu fixieren)

1

http://docs.datastax.com/en/datastax_enterprise/4.8/datastax_enterprise/sec/secConfiguringInternalAuthentication.html

Der Benutzer 'cassandra' immer verwendet QUORUM standardmäßig in system_auth. Versuchen Sie, einen anderen Benutzer (als Superuser) zu erstellen und Ihr Problem sollte weg sein.

Der Grund ist, dass Sie nicht QUORUM auf einem einzelnen Knoten Cluser haben können, siehe Igors Anwsser.

+0

Wie Igor auch sagte - Sie können QUORUM auf einem einzelnen Knotencluster nicht erreichen. – Mandraenke

+0

Ich bekomme den Fehler: 'Unauthorized: code = 2100 [Unauthorized] message =" Nur Superuser können eine Rolle mit Superuser-Status erstellen "', wenn ich versuche, einen neuen Benutzer zu erstellen. Bedeutet das, dass ich die Kennwortauthentifizierung für einen einzelnen Knotencluster nicht verwenden kann? mache ich es besser, wenn ich es nur in 'cassandra.yaml' auf localhost abhöre, um es zu sichern? –

+0

Wenn der Cluster unter Ihrer Kontrolle steht, können Sie AllowAllAuthenticator in cassandra.yaml festlegen und den Knoten beim Erstellen Ihres neuen Superusers neu starten. Dieser Fehler ist, Sie versuchen, einen Superuser als normaler Benutzer zu erstellen. – Mandraenke

Verwandte Themen