この単純なコードを使用して、ローカルデスクトップで実行されているcassandraに、cassandra-driver for pythonを介して接続しようとしています。
from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect()
そしてこのエラーが発生します:NoHostAvailable :( 'サーバーに接続できません'、{'127.0.0.1':InvalidRequest(u'code = 2200 [Invalid query] message = "未構成のテーブルschema_keyspaces" '、)})
Cassandraのログから、接続がどのように確立されるかがわかりますが、次のエラーが発生します。
DEBUG 05:51:00 Responding: ERROR INVALID: unconfigured table schema_columnfamilies, v=4
DEBUG 05:51:00 Responding: ERROR INVALID: unconfigured table schema_usertypes, v=4
DEBUG 05:51:00 Responding: ERROR INVALID: unconfigured table schema_columns, v=4
DEBUG 05:51:00 Responding: ERROR INVALID: unconfigured table schema_functions, v=4
DEBUG 05:51:00 Responding: ERROR INVALID: unconfigured table schema_aggregates, v=4
DEBUG 05:51:00 Responding: ERROR INVALID: unconfigured table schema_triggers, v=4
未構成のテーブルでこの問題を解決するための助けをいただければ幸いです。
ドライバーを使用してCassandra 3.0.0-alpha1に接続している可能性がありますか?その場合、このコミットからインストールされたドライバーを実行する必要があります。
https://github.com/datastax/python-driver/tree/1a480f196ade42798596f5257d2cbeffcadf154f
または:
DataStaxは、Cassandra 3.0.0-alpha1で使用するために、3.0.0a1バージョンのドライバーを準備しています。これは間もなくpypiで利用可能になります。
次のように、ドライバーの3.0.0アルファ版をインストールします。
pip install --pre cassandra-driver
pip install --pre --upgrade cassandra-driver
このスレッドは、同じエラーメッセージが表示されて情報を検索したときに表示されましたが、表示された回答は役に立ちませんでした。私は最終的に問題を見つけました。 Cassandra 3.6を実行していますが、現在利用可能なcassandra-driverはバージョン3.4.1です。
しかし、何らかの理由で、cassandra-driverのバージョン2.2.0がインストールされていました。テーブルschema_keyspacesが新しいバージョンで名前が変更/移動されたことを理解しているので、古いドライバーが期待した結果を取得できず、救済されなかった理由が説明されています。