0

Cassandra クラスター (Datastax オープン ソース) を使用していますが、現在認証が構成されていません (つまり、AllowAllAuthenticator を使用しています)。PasswordAuthenticator を使用したいと考えています。公式文書によると、次の手順に従う必要があります。

  1. cassandra.yaml で PasswordAuthenticator を有効にし、

  2. system_auth キースペースを作成する Cassandra ノードを再起動します。

  3. system_auth レプリケーション係数を変更します。

  4. 新しいユーザーとパスワードを作成する

ただし、クラスターは本番環境で使用されているため、ダウンタイムは発生しないため、これは私にとって大きな問題です。ステップ 2 と 4 の間ではまだユーザーが構成されていないため、クライアントがユーザー名とパスワードを提供しても、要求は拒否され、理想的ではありません。

Datastax Enterprise docを調べたところ、リクエストを拒否せずに system_auth キースペースを作成する TransitionalAuthenticator クラスがあります。このクラスはオープンソース版に移植できるのだろうか?または、この問題を回避する他の方法がある場合は? ありがとう

更新 これは、私が使用している Cassandra のバージョンです。

cqlsh 4.1.1 | Cassandra 2.0.9 | CQL spec 3.1.1 | Thrift protocol 19.39.0
4

1 に答える 1

1

適切なクライアント構成、レプリケーション、およびクラスター容量を前提とすれば、1 つのノードだけでステップ 2 から 4 を実行でき、ダウンタイムがゼロになるはずです。その後は、残りのノードをローリング再起動するだけです。

クライアントは事前に資格情報を設定する必要があり、オーソライザーを持つノードがオンラインになると、それらをノードとして使用し始めます (この動作はドライバーに依存する可能性があります。最初に試してみてください)。

CassandraAuthenticator を使用する前に、手順 3 ~ 4 のスキーマとデータを手動で生成できる場合がありますが、それは必須ではありません。

ダウンタイムについてどのような懸念がありますか?

于 2014-10-22T16:58:28.387 に答える