web-dev-qa-db-ja.com

Cassandraポートの使用-ポートはどのように使用されますか?

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は、リストされている各ポートをどのように使用しますか?

86
knorv

@Schildmeijerはほぼ正しいですが、 TLS暗号化ノード間通信 を使用する場合はポート7001が引き続き使用されます

私の完全なリストは、Cassandraの現在のバージョンのものです。

  • 7199-JMX(8080以前はCassandra 0.8.xxでした)
  • 7000-ノード間通信(TLSが有効な場合は使用されません)
  • 7001-TLSノード間通信(TLSが有効な場合に使用)
  • 9160-ThriftクライアントAPI
  • 9042-CQLネイティブトランスポートポート
119

Apache Cassandra 2.0の場合、次のTCPポートを考慮する必要があります( EC2セキュリティグループを参照 設定および Apache Cassandra FAQ

Cassandra

  • 7199JMXモニタリングポート
  • 1024-65355JMXに必要なランダムポート。 Java 7u4以降では、com.Sun.management.jmxremote.rmi.portプロパティを使用して特定のポートを指定できます。
  • 7000ノード間クラスター
  • 7001SSLノード間クラスター
  • 9042CQLネイティブトランスポートポート
  • 9160rif約

DataStax OpsCenter

  • 61620opscenterdデーモン
  • 61621エージェント
  • 8888ウェブサイト

建築

EC2上のCassandra + OpsCenterで可能なアーキテクチャは次のようになります。 AWS EC2 with OpsCenter

42
joscas

8080-JMX(リモート)

8888-リモートデバッガー(0.6.0で削除)

7000-Cassandraが内部で使用
(7001-廃止、0.6.0で削除。メンバーシップ通信に使用、別名ゴシップ)

9160-ThriftクライアントAPI

Cassandra FAQ どのポートがCassandraを使用しますか?

33
Schildmeijer

JMXは、ポート8080ではなくポート7199を使用するようになりました(Cassandra 0.8.xx現在)。

これはcassandra-env.shファイルで構成可能ですが、デフォルトは7199です。

6
David

ポート57311および57312は、RMI通信に使用されるランダムに割り当てられたポートです。これらのポートはCassandraが起動するたびに変更されますが、リモートJMXアクセスを可能にするために8080/7199(バージョンによって異なります)とともにファイアウォールで開く必要があります。特に十分に文書化されていないように見えますが、過去につまずいたことがあります。

4
chrisbunney

以下の手順を使用して問題を解決しました:

  1. カサンドララサービスを停止する

    Sudo su -
    systemctl stop datastax-agent
    systemctl stop opscenterd
    systemctl stop app-dse
    
  2. バックアップを取り、ポートを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
    
  3. Cassandraサービスを開始します

    systemctl start datastax-agent
    systemctl start opscenterd
    systemctl start app-dse
    
  4. cqlshrcファイルを作成します。

    vi  /root/.cassandra/cqlshrc
    
    [connection]
    hostname = 198.168.1.100
    port = 9035
    

ありがとう、マヘシュ

0
mahesh agrawal

上記の回答に加えて、ファイアウォールの構成の一環として、SSHを使用している場合はポート22を使用します。