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はリストされている各ポートをどのように使用しますか?
Cassandraを試してみると、Cassandraが次のポートをリッスンしていることがわかりました。
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で削除されました。メンバーシップ通信、別名gossipで使用されます)
9160-ThriftクライアントAPI
Cassandra FAQ Cassandraはどのポートを使用しますか?
ポート57311および57312は、RMI通信に使用されるランダムに割り当てられたポートです。これらのポートは、Cassandraが起動するたびに変更されますが、リモートJMXアクセスを可能にするために、(バージョンによっては)8080/7199とともにファイアウォールで開く必要があります。特によく文書化されていないように見えるが、過去に私をつまずかせたもの。
cassandra-env.sh
は、com.sun.management.jmxremote.rmi.port
ランダムなポートが使用されないように、プロパティをメインのJMXポートと同じ値に設定します。
上記の回答に加えて、ファイアウォールの構成の一部として、SSHを使用している場合はポート22を使用します。
以下の手順で問題を解決しました:
Cassandaraサービスを停止
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
ありがとう、マヘシュ