2016-06-30 5 views
1

他のDBでは、ロードバランスIPを使用してdbクラスタに接続します。コマンドラインを使用してcassandraクラスタに接続するにはどうすればよいですか?どんなソケットが使われていますか?これは常に単一のノードとIPですか? node1に接続し、node1がダウンするとどうなりますか?これは自動的にnode2またはnode3に接続されますか?cqlshやコマンドプロンプトを使ってcassandraクラスタを接続する方法は?

答えて

2

いくつかの選択肢があります:最も簡単なのは、Cassandraと対話するためのPythonベースのCQLインタープリタであるCassandraクエリ言語シェル(CQLSH)です。通常、インストールディレクトリの/binフォルダの下に、すべてのCassandraインストールが付属しています。 Cassandraが実行されているノードの1つにsshアクセスできる場合、これは簡単なオプションになります(ファイアウォールがクラスタへの着信接続をブロックすることに関わる問題は避けてください)。

また、クラスタにリモートでアクセスするためにcqlshを使用することができます。

cqlsh node_ip 9043 

が、これはあなたのマシンに存在することcqlshが必要になります。

一般的に、Cassandraは、連絡先ノードの初期セットとゴシッププロトコルを使用して、クラスタ構成に連絡して学習します。クエリのコーディネータとしてノードが割り当てられます。少なくとも1つが起動していれば、現在シードノードがダウンしていることを心配する必要はありません。

クラスタにリモートからアクセスするもう1つのオプションは、Datastax DevCenterです。これは、CQLクエリを実行するための無料のグラフィカルインターフェイスです。

希望します。

+0

私はあなたを入手しました。しかし、私の関心事は、もし私が接続しているノードがダウン/クラッシュした場合です。クライアントはどのように他のノードに接続しますか? – user6531608

+0

[こちら](http://www.datastax.com/dev/blog/how-cassandra-deals-with-replica-failure)には、リクエスト中の障害の管理方法の詳細が記載されています。接触したノードまたはコーディネーターが故障した場合のCQLSHの動作はわかりません。私は、最初のクエリが実行された後、ツールがクラスタを "学習"し、クエリを再試行できると仮定できます。私はDevCenterがあなたにこれを可能にすると思います。なぜなら、単一のノードの代わりにシードノードのセットを提供できるからです。 – riccamini

関連する問題