2016-11-15 17 views
1

LinuxマシンにCassandra 3.xがあります。 私は私が上記のインポートとジャンゴを実行しようとすると、私はこのエラーを取得するポート9042.Cassandra Django経由で「任意のサーバに接続できません」、cqlshは動作します

にコマンドラインcqlsh' and using DBeaver GUI`からカサンドラに接続することができhttps://github.com/tschellenbach/Stream-Framework

from stream_framework.feeds.cassandra import CassandraFeed 

とそれに接続しよう:すべての設定が、私はまた、取得した値をデフォルトにしている

cassandra.cluster.NoHostAvailable: 
('Unable to connect to any servers', 
{'::1': error(111, "Tried connecting to [('::1', 9042, 0, 0)]. 
Last error: Connection refused"), 
'127.0.0.1': error(111, 
"Tried connecting to [('127.0.0.1', 9042)]. 
Last error: Connection refused")}) 

EDIT 3

DriverException('ProtocolError returned from 
server while using explicitly set client protocol_version 2',)}) 

私は解決策のためのラウンドを見て、に /etc/cassandra/cassandra.yamlを変更しました:

rpc_address: 0.0.0.0 #from localhost 
rpc_port: 9042 #from 9160 
listen_address: 127.0.0.1 #from localhost 

しかし、それは助けていません。

解決方法に関するご意見はありますか?

EDIT 私は設定をdefaulする事になって、私は、これはいくつかの種類であるかどうかわからないんだけどnetstat -nat | grep 9042

tcp  0  0 127.0.0.1:56524   127.0.0.1:9042   ESTABLISHED 
tcp  0  0 127.0.0.1:56528   127.0.0.1:9042   ESTABLISHED 
tcp  0  0 127.0.0.1:56522   127.0.0.1:9042   ESTABLISHED 
tcp  0  0 127.0.0.1:56558   127.0.0.1:9042   ESTABLISHED 
tcp  0  0 127.0.0.1:56516   127.0.0.1:9042   ESTABLISHED 
tcp  0  0 127.0.0.1:56514   127.0.0.1:9042   ESTABLISHED 
tcp  0  0 127.0.0.1:56560   127.0.0.1:9042   ESTABLISHED 
tcp  0  0 127.0.0.1:56530   127.0.0.1:9042   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   :::*     LISTEN 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56516   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56514   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56528   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56558   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56524   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56560   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56522   ESTABLISHED 
tcp6  0  0 127.0.0.1:9042   127.0.0.1:56530   ESTABLISHED 

ところで、nodetool status戻り

Datacenter: datacenter1 
======================= 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address Load  Tokens  Owns (effective) Host ID        Rack 
UN 127.0.0.1 157.61 KB 256   100.0%   3b13b3f2-968d-4f53-8e9b-1aa4ae271c66 rack1 

EDIT 2
私はCassandraにDBeaverで接続すると、リストに表示されるホストは1つだけです:

0:0:0:0:0:0:0:1 

IPv4の代わりにIPv6ですか?

+0

'netstat -nat | grep 9042'が表示されますか? – Ivan

+0

@Ivan、編集でnetstatの結果を追加しました。 – Mike

+0

私はしようとしていた次のものは、cqlshによって使用されていることを学ぶことであり、同じようにあなたのpythonアプリケーションを強制しようとする – Ivan

答えて

1

問題が見つかりました。カサンドラ・プロトコルのためのストリーム・フレームワークのデフォルト設定は2 https://github.com/tschellenbach/Stream-Framework/blob/master/stream_framework/default_settings.py#L23

4にそれを変更した後、テストやアプリがカサンドラのinsatnceに接続しています。

編集

変更がメインプロジェクトのsettings.pyです。このように:

CASSANDRA_DRIVER_KWARGS = { 'protocol_version': 4 }

+0

これはあなたがこれを変更しましたか?私も同様の問題に直面しています –

+0

@NishantKumar答えを確認して、私はそれを編集しました。 – Mike

関連する問題