2017-07-03 5 views
0

私は現在、1つのノードを実行しています。私はCassandraのパスワード認証を有効にしようとしています。カサンドラ - 一貫性レベルを達成できませんQUORUM

私は、このガイドを次のようだ:http://cassandra.apache.org/doc/latest/operating/security.html#password-authentication

私はそれが単一ノードクラスタだと私はsystem_authの複製を変化させなかったことに注意しましょう。

を使用するようにcassandra.yamlを編集しました。

私はその後、カサンドラを再起動し、コマンドcqlsh -u cassandra -p cassandraを試してみましたが、それは私にエラーを与える:

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"',)}) 

私はnodetool repairを実行しようとしましたが、それは言う:Replication factor is 1. No repair is needed for keyspace 'system_auth'

どのように私はこの問題を解決するのですか? 1ノード(または2ノード)において

答えて

3

私は問題を解決することができました。

ALTER KEYSPACE system_auth WITH replication = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };は、以前は{'class': 'NetworkTopologyStrategy', 'DC1': '1', 'DC2': '1'}に設定されていたため、これは1つのノードクラスタであっても実行しなければなりませんでした。

これは、QUORUMを達成できなかった理由です。

1

クォーラムが不可能である構成、及び修理を必要としない(ノード間のデータの不整合を修正するために使われているように)

1

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

ユーザカサンドラ '常にデフォルトではsystem_authにQUORUMが使用されます。別のユーザーを(スーパーユーザーとして)作成してみて、問題をなくしてください。

なぜなら、単一ノードのcluserにQUORUMを設定することはできないからです.Ignors Anwserを参照してください。

+0

Igorも述べたように、単一ノードクラスタでQUORUMを達成することはできません。 – Mandraenke

+0

エラー: 'Unauthorized:code = 2100 [Unauthorized] message ="新しいユーザーを作成しようとすると、スーパーユーザーだけがスーパーユーザーの状態で役割を作成できます "これは、単一ノードクラスタでパスワード認証を使用できないことを意味しますか?私はlocalhostで 'cassandra.yaml'だけを聞いてそれを保護するほうがいいですか? –

+0

クラスタが管理下にある場合、新しいスーパーユーザーの作成中にAllowAllAuthenticatorをcassandra.yamlに設定し、ノードを再起動することができます。 このエラーは、通常のユーザーとしてスーパーユーザーを作成しようとしていることです。 – Mandraenke

関連する問題