リモートマシンからcassandraインストールに接続しようとしています。Cassandraはデフォルトポートである9160でthriftサービスを実行しています。しかし、接続できません。 DBと私は常に接続タイムアウト例外を受け取ります。詳細は次のとおりです。
nmap
コマンドとnetstat
コマンドを実行して、ポートのステータスを確認しました。これらは、取得した出力です。
x.y.z.z
-cassandraが実行されているマシンのIPa.b.c.d
-アプリケーションが実行されているマシンのIP
ouput a.b.c.dからnmapを実行することから:
Bash$ nmap -r -p 9160 x.y.z.z
Starting Nmap 6.40 ( http://nmap.org ) at 2018-05-30 04:02 PDT
Nmap scan report for x.y.z.z
Host is up (0.0016s latency).
PORT STATE SERVICE
9160/tcp closed apani1
DBマシンでnetstat
を実行すると(x.y.z.z
)DBアプリが9160ポートでリッスンしているようです。
TCP x.y.z.z:63572 stackoverflow:https ESTABLISHED
TCP x.y.z.z:63735 stackoverflow:https ESTABLISHED
TCP x.y.z.z:64856 stackoverflow:https ESTABLISHED
TCP 127.0.0.1:6942 x.y.z.z:0 LISTENING
TCP 127.0.0.1:7000 x.y.z.z:0 LISTENING
TCP 127.0.0.1:9042 x.y.z.z:0 LISTENING
TCP 127.0.0.1:9042 x.y.z.z:55317 ESTABLISHED
TCP 127.0.0.1:9042 x.y.z.z:55329 ESTABLISHED
TCP 127.0.0.1:9160 x.y.z.z:0 LISTENING
TCP 127.0.0.1:50135 x.y.z.z:50136 ESTABLISHED
DBマシンのポート9160専用のインバウンドルールを追加しました。しかし、それは役に立ちませんでした、そして私はまだ接続タイムアウトエラーを受け取ります。
私の質問:
nmap
コマンドがポートを閉じていると表示するのはなぜですか? cassandra起動ログから、thriftサービスがポート9160でリッスンしていることがわかります。データベースは127.0.0.1:9160をリッスンしています。これは、現在、ループバックIPアドレスのみをリッスンするように構成されていることを意味します。つまり、同じホストから発信された接続のみをリッスンします。
cassandra.yaml
ファイルに必要なパラメーターはrpc_address
です。デフォルト値は127.0.0.1です。アプリケーションがCassandra DBに接続できるようにするには、そのパラメーターを値x.y.z.z
に設定するか、必要に応じてunset
に設定する必要がありますCassandra IPアドレスがデータベースサーバーのホスト名にマップされているすべてのインターフェースでリッスンします。