web-dev-qa-db-ja.com

Cassandra cqlsh-接続は拒否されました

Cassandra(datastax)バージョン2.1.3およびcqlshバージョン5.0.1の使用を開始しました。

Cassandraは正常に起動し、クラスターは即座に動作します。

Cqlshは(いずれかのノードで)動作せず、次のエラーを出力します。

接続エラー:(「サーバーに接続できません」、{'127.0.0.1':error(111、 "[( '127.0.0.1'、9042)]への接続を試みました。最後のエラー:接続が拒否されました")})

ホスト自身のIP、他のホストIP、異なるポートでcqlshを起動しようとしましたが、結果は同じままです-常に接続が拒否されました。

46
Chros

IPが10.0.1.34でrpc_addressがデフォルト値のままであるかのように、rpc_portを0.0.0.0ではなくノードのIPを指すように変更し、cqlshへの接続中にIPを指定してください。 9160の場合、次のように機能します。

cqlsh 10.0.1.34 9160 

または:

cqlsh 10.0.1.34 

また、/ etc/cassandra/cassandra.yaml構成ファイルでstart_rpcがtrueに設定されていることを確認してください。

15
Ruba

接続しようとしているノードでcassandra.yamlを編集し、rpc_addressおよびlisten_addressのノードIPアドレスを設定して、Cassandraを再起動する必要があります。

rpc_addressは、Cassandraがクライアント呼び出しをリッスンするアドレスです。

listen_addressは、Cassandraが他のCassandraノードをリッスンするアドレスです。

14
jny

これは、cassandraのいくつかの事前設定が原因です。これを修正するために、cassandra-env.shファイルに次のコメント行があります。

#add this if you’re having trouble connecting:
#JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>

エラーの修正を開始する必要があります。

ターミナルを開き、次の簡単な手順を使用して修正を開始します。

ステップ-1

つかいます

Sudo nano /etc/cassandra/cassandra-env.sh

このコマンドとJVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=の検索は、行の先頭にある#を削除するだけで行のコメントを解除します。

注:このエラーを修正するためにこのファイルを開いたことがない場合、JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>が見つかります。

ステップ-2<public name>127.0.0.1に置き換えます

ステップ-ファイルを保存し、systemctl restart cassandra.serviceを使用してcassandraを再起動します(サーバーが既に実行されていない場合)。 ORは、systemctl start cassandra.serviceを使用してcassandraを開始します(サーバーが実行されていない場合)。

ステップ-4Sudo service cassandra statusまたはsystemctl status cassandra.serviceを使用してステータスを確認します。

注:システムモニターで、cassandraが実行されているかどうかを確認します。

今すぐcqlshをお試しください。動作します。

注:nanoは、使い慣れた他のエディターを使用できるエディターです。

4
Gaurav Paliwal

system.logファイルでcassandra in/ var/log/cassandraを確認する場合rpc serverが起動していないため、この問題が発生することがわかります。

デフォルトでは、start_rpcは、cassandra.yamlファイルでfalseに設定されます。 start_rpc:trueに設定して、再試行してください。

少なくともCassandra 3.0start_rpcでは、デフォルトでtrueに設定されています。 https://docs.datastax.com/en/cassandra/3.0/cassandra/configuration/configCassandra_yaml.html

4
Rokin

/etc/cassandra/cassandra.yamlでnative_transport_portを探します。デフォルトは9842です。

native_transport_port: 9842

Cqlshを使用してlocalhostに接続するために、このポートは機能しました。

cqlsh 127.0.0.1 9842

3
Amit Teli

ArchLinuxでCassandra 3.0からCassandra 2.2にダウングレードした後、最近同じ問題が発生しました。

上記のソリューションとは異なり、私の問題は.cassandraにはありませんでしたが、バージョン3.0は/ var/lib/cassandraディレクトリに構成を残していました。

次のコマンドは私の問題を解決しました:

Sudo rm -R /var/lib/cassandra
Sudo rm -R /var/log/cassandra
Sudo rm -R /usr/share/cassandra

その後、cassandraをインストールしましたが、すべて正常に動作しました:)

3
Michal

サーバーが稼働している場合でも、cassandraログを確認することをお勧めします。私はまったく同じメッセージを受け取っていて、それで何もできませんでした。その後、ログにエラーがあり、システムが実際に機能していないことがわかりました。

愚かな、私は知っているが、起こる可能性があります...

2
TomS

native_transport_protocolをポート9160に変更してみてください(9160以外に設定されている場合、9042を指している可能性があります)。ログを確認し、cassandraがCQLクライアントをリッスンしているポートを確認してください。

1
Mayur Kurkure

私にとっては、サービスがまったく実行されていなかったことが判明しました。確認する

service cassandra status

私と同じエラーまたは別のタイプのエラーが発生した場合、IPアドレスをいじっても問題はまったく解決しません。

私が得たエラー:

cassandra dead but pid file exists

編集:これは私の問題の解決策でした: https://stackoverflow.com/a/46743119/3881406

1
Andras Kloczl

ネットワークドライブで実行しようとしていました。そこで、cqlshでclient_timeoutを増やしてみました。

0
TonyStark

cqlsh --cqlversion = "3.4.0" 127.0.0.1:9042でテストクラスターに接続[cqlsh 5.0.1 | Cassandra 3.0.9 | CQL仕様3.4.0 |ネイティブプロトコルv4]

上記のコマンドを試してください。わたしにはできる。

0
user3369245

指定されたアドレスにtelnetで接続してみてください。私の場合、私をブロックする場所にファイアウォールがありました。

0
Jason White

[cqlsh 5.0.1 | Cassandra 3.11.4 | CQL spec 3.4.4 | Native protocol v4]でこの問題が発生し、start_native_transport: trueファイルにcassandra.yamlを設定する必要がありました。

確認のため、

  • ワンタブでtailf /var/log/cassandra/system.logファイルを開いてみてください
  • cassandra.yamlを更新
  • 再起動cassandra Sudo service cassandra restart

ログファイルに表示されます。

INFO  [main] 2019-03-15 19:53:06,156 Server.Java:156 - Starting listening for CQL clients on /10.139.45.34:9042 (unencrypted)...
0
murarisumit

Cassandra 3.11.1をインストールしたときに、この問題に遭遇しました。 /var/log/cassandra/cassandra.logを確認したところ、起動時にこのエラーが発生しました。..これはバグであり、すでに報告されています。元の投稿リンク https://issues.Apache.org/jira/browse/CASSANDRA-1417

解決策は、Cassandraを3.0にダウングレードすることです

  1. Cassandra rpmをダウンロードします

curl -O https://www.Apache.org/dist/cassandra/redhat/30x/cassandra-3.0.15-1.noarch.rpm

または

wget https://www.Apache.org/dist/cassandra/redhat/30x/cassandra-3.0.15-1.noarch.rpm

  1. rpm -ivh cassandra-3.0.15-1.noarch.rpm
  2. サービスcassandra start
  3. service cassandra status#check cassandra status

cassandra(pid 2322)が実行中です...

  1. cqlsh#cassandraを起動
0
Hunter

Cassandra 3.11.0で同じ問題が発生していましたが、rpcのアドレスを変更したり、cqlshのリッスンアドレスが機能しなかったりしました。同じローカルIPをseedsに追加する必要がありました

そのため、多くの試行錯誤の後、私の作業cassandra.ymlは次のようになりました。

class-name: org.Apache.cassandra.locator.SimpleSeedProvider
parameters: 
    -seeds: "192.168.0.30"

listen_adress: 192.168.0.30
rpc_address: 192.168.0.30
0
Eduardo Dennis

「listen_address」で指定したアドレスに「seeds」も設定していることを確認してください

0
Erhard Dinhobl