Penggunaan Port Cassandra - Bagaimana Port Digunakan?

96

Saat bereksperimen dengan Cassandra, saya telah mengamati bahwa Cassandra mendengarkan port berikut:

  • 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

Bagaimana Cassandra menggunakan setiap port yang terdaftar?

knorv
sumber
13
adamse: Terima kasih atas tipnya! Mungkin begitu, tetapi demi pengguna Cassandra di masa mendatang di Stackoverflow (populasi yang terus bertambah!) Menurut saya, ada baiknya jika jawabannya juga disimpan di sini :-)
knorv

Jawaban:

131

@Schildmeijer sebagian besar benar, namun port 7001 masih digunakan saat menggunakan komunikasi TLS Encrypted Internode

Jadi daftar lengkap saya adalah untuk versi Cassandra saat ini:

  • 7199 - JMX (sebelumnya 8080 sebelum Cassandra 0.8.xx)
  • 7000 - Komunikasi internode (tidak digunakan jika TLS diaktifkan)
  • 7001 - komunikasi TLS Internode (digunakan jika TLS diaktifkan)
  • 9160 - API klien hemat
  • 9042 - port transpor asli CQL
Matthew O'Riordan
sumber
4
Ini adalah tautan terbaru per 2017 ke dokumentasi resmi cassandra.apache.org/doc/latest/faq/index.html#what-ports
Johnride
44

Untuk Apache Cassandra 2.0 Anda perlu mempertimbangkan port TCP berikut ini : (Lihat konfigurasi grup keamanan EC2 dan FAQ Apache Cassandra )

Cassandra

  • 7199 port pemantauan JMX
  • 1024 - 65355 Port acak diperlukan oleh JMX. Dimulai dengan Java 7u4, port tertentu dapat ditentukan menggunakan com.sun.management.jmxremote.rmi.portproperti.
  • 7000 cluster Inter-node
  • 7001 cluster antar node SSL
  • 9042 CQL Native Transport Port
  • 9160 Hemat

DataStax OpsCenter

  • 61620 opscenterd daemon
  • 61621 Agen
  • Situs 8888

Arsitektur

Arsitektur yang memungkinkan dengan Cassandra + OpsCenter di EC2 bisa terlihat seperti ini: AWS EC2 dengan OpsCenter

joscas
sumber
35

8080 - JMX (jarak jauh)

8888 - Debugger jarak jauh (dihapus di 0.6.0)

7000 - Digunakan internal oleh Cassandra
(7001 - Usang, dihapus di 0.6.0. Digunakan untuk komunikasi keanggotaan, alias gosip)

9160 - API klien hemat

Cassandra FAQ Port apa yang digunakan Cassandra?

Schildmeijer
sumber
7

JMX sekarang menggunakan port 7199, bukan port 8080 (seperti Cassandra 0.8.xx).

Ini dapat dikonfigurasi di file cassandra-env.sh Anda, tetapi defaultnya adalah 7199.

David
sumber
5

Port 57311 dan 57312 adalah port yang ditetapkan secara acak yang digunakan untuk komunikasi RMI. Porta ini berubah setiap kali Cassandra mulai, tetapi perlu dibuka di firewall, bersama dengan 8080/7199 (tergantung versi), untuk memungkinkan akses JMX jarak jauh. Sesuatu yang tampaknya tidak didokumentasikan dengan baik, tetapi telah membuat saya tersandung di masa lalu.

chrisbunney.dll
sumber
1
Untuk anak cucu, gangguan ini harus diperbaiki, mulai dari Cassandra 2.0.8 dan seterusnya sesuai dengan tiket ini . Defaultnya cassandra-env.shsekarang menyetel com.sun.management.jmxremote.rmi.portproperti ke nilai yang sama dengan port JMX utama sehingga port acak tidak digunakan.
ches
0

Selain jawaban di atas, sebagai bagian dari konfigurasi firewall Anda, jika Anda menggunakan SSH, gunakan port 22.

Keerthikanth Chowdary
sumber
0

Saya menyelesaikan masalah menggunakan langkah-langkah di bawah ini:

  1. Hentikan layanan cassandara

    sudo su -
    systemctl stop datastax-agent
    systemctl stop opscenterd
    systemctl stop app-dse
    
  2. Ambil cadangan dan Ubah port dari 9042 ke 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. Mulai layanan Cassandra

    systemctl start datastax-agent
    systemctl start opscenterd
    systemctl start app-dse
    
  4. buat file cqlshrc.

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

Terima kasih, Mahesh

mahesh agrawal
sumber