Cassandraを試してみると、Cassandraが次のポートをリッスンしていることがわかりました。
- TCP *:8080
- TCP *:8888
- TCP *:57311
- TCP *:57312
- TCP 127.0.0.1:7000
- TCP 127.0.0.1:9160
- UDP 127.0.0.1:700
Cassandraはリストされている各ポートをどのように使用しますか?
@Schildmeijerはおおむね正しいですが、TLS暗号化ノード間通信を使用する場合はポート7001が引き続き使用されます
したがって、私の完全なリストは、Cassandraの現在のバージョンのものになります。
Apache Cassandra 2.0の場合、次のTCPポートを考慮する必要があります( EC2セキュリティグループの設定とApache Cassandra FAQを参照してください) 。
com.sun.management.jmxremote.rmi.port
プロパティを使用して特定のポートを指定できます。EC2でCassandra+OpsCenterを使用して考えられるアーキテクチャは、次のようになります。
8080-JMX(リモート)
8888-リモートデバッガー(0.6.0で削除)
7000-Cassandraによって内部で使用
されます(7001-廃止、0.6.0で削除されました。メンバーシップ通信、別名ゴシップに使用されます)
9160-ThriftクライアントAPI
Cassandra FAQ Cassandraはどのポートを使用しますか?
JMXは、ポート8080ではなくポート7199を使用するようになりました(Cassandra 0.8.xx以降)。
これはcassandra-env.shファイルで構成可能ですが、デフォルトは7199です。
ポート57311および57312は、RMI通信に使用されるランダムに割り当てられたポートです。これらのポートは、Cassandraが起動するたびに変更されますが、リモートJMXアクセスを可能にするには、8080/7199(バージョンによって異なります)とともにファイアウォールで開いている必要があります。特に十分に文書化されていないように見えますが、過去に私をつまずかせたもの。
上記の回答に加えて、ファイアウォールの構成の一環として、SSHを使用している場合は、ポート22を使用します。
以下の手順で問題を解決しました:
カサンダラサービスを停止する
sudo su -
systemctl stop datastax-agent
systemctl stop opscenterd
systemctl stop app-dse
バックアップを取り、ポートを9042から9035に変更します
cp /opt/dse/resources/cassandra/conf/cassandra.yaml /opt/dse/resources/cassandra/conf/bkp_cassandra.yaml
Vi /opt/dse/resources/cassandra/conf/cassandra.yaml
native_transport_port: 9035
Cassandraサービスを開始します
systemctl start datastax-agent
systemctl start opscenterd
systemctl start app-dse
cqlshrcファイルを作成します。
vi /root/.cassandra/cqlshrc
[connection]
hostname = 198.168.1.100
port = 9035
ありがとう、マヘシュ