マシンにcassandraノードがあります。同じマシンからcqlshにアクセスすると、正常に動作します。
しかし、別のマシンから「192.x.x.x」を使用してcqlshに接続しようとすると、次のエラーが表示されます。
接続エラー:(「サーバーに接続できません」、{'192.xxx':error(111、 "[( '192.xxx'、9042)]への接続を試行しました。最後のエラー:接続が拒否されました")} )
この理由は何ですか?どうすれば修正できますか?
おそらくリモートCassandraノードは外部ネットワークインターフェイスではなく、ループバックインターフェイスにバインドされています(これはデフォルトの構成です)。リモートマシンから "telnet thecassandrahost 9042"を使用してこれを確認できます。 、動作しないはずです。
Cassandra=を外部ネットワークインターフェイスにバインドするには、cassandra.yaml構成ファイルを編集し、プロパティ「listen_address
"および" rpc_address
"をリモートIPまたは" 0.0.0.0 "(Cassandraがワイルドカードアドレスをサポートするすべてのバージョンではありません)。
ファイアウォールが適切に構成または無効になっていることも確認してください(Sudo service iptables stop)。
このファイルが配置されている構成パラメーターを設定します。おそらく/etc/cassandra/cassandra.yaml
。
listen_address: 192.x.x.x
rpc_address: 192.x.x.x
次に、サービスを再起動します。
1.Update:./conf/cassandra.yaml
rpc_address: 0.0.0.0 ("0.0.0.0" allow anywhere IP,but you can appoint an IP)
\# broadcast_rpc_address: 1.2.3.4 (Delete comment if pc_address=0.0.0.0)
2.restart
./bin/cassandra
ケース:リモートアクセスできないという問題に遭遇しましたcassandra Java access cassandraを使用する場合
同じ問題が発生しました。そして、私はこの投稿の回答に従っています。残念ながら、私はそれを機能させる運がありません。私はいくつかの研究をしました。そして、それは今動作します。これが私の変化です。
環境Virtual Server上のUbuntu Server 16.04.3 LTS、DSEバージョン5.1
DSEをインストールする
このページに従ってDSEをインストールしています https://docs.datastax.com/en/dse/5.1/dse-dev/datastax_enterprise/install/installGUIdse.html
これは15秒後の私のログです。 `ubuntu08 @ ubuntu08:〜$ nodetool status nodetool: '127.0.0.1:7199'への接続に失敗しました-ConnectException: '接続は拒否されました(接続は拒否されました)'。 ubuntu08 @ ubuntu08:〜$ nodetool status
エラー:ノードにはまだsystem_tracesがありません。おそらくubuntu08 @ ubuntu08:〜$ nodetool statusをまだブートストラップしています
Status = Up/Down |/State = Normal/Leaving/Joining/Moving-Address Load Tokens Owns Host ID Rack UN 10.0.0.44 278.51 KiB 32? 19db0016-df63-4470-9921-f3b5fe4e9341 rack1 `
これはCassandra https://docs.datastax.com/en/developer/Java-driver/3.3/manual/address_resolution/ の別のドキュメントです
Cassandra.yamlファイルで次の構成パラメーターを設定します(CentOSの場合は/etc/cassandra/default.confにあります)
rpc_address:0.0.0.
次の値が以下と同じであることを確認します(通常はデフォルトです)
start_native_transport:true
native_transport_port:9042
CentOSの最後のステップ、ファイアウォール構成を更新し、着信接続にポート9042を許可します
RPC_ADDRESS
を設定した後でも、-e CASSANDRA_START_RPC=true
オプションを設定するまで機能しませんでした。
私の場合、常にfalse
に設定されていました。 Ubuntu、Docker、Cassandraでこれを試しました。