Cách sử dụng cổng Cassandra - các cổng được sử dụng như thế nào?


96

Khi thử nghiệm với Cassandra, tôi đã quan sát thấy rằng Cassandra lắng nghe các cổng sau:

  • 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 sử dụng từng cổng được liệt kê như thế nào?


13
adamse: Cảm ơn vì mẹo! Đó có thể là như vậy, nhưng vì lợi ích của những người dùng Cassandra trong tương lai trên Stackoverflow (dân số ngày càng tăng!) Tôi nghĩ cũng rất tốt nếu câu trả lời được lưu trữ ở đây :-)
knorv

Câu trả lời:


131

@Schildmeijer phần lớn đúng, tuy nhiên cổng 7001 vẫn được sử dụng khi sử dụng giao tiếp liên kết mã hóa TLS

Vì vậy, danh sách đầy đủ của tôi sẽ dành cho các phiên bản hiện tại của Cassandra:

  • 7199 - JMX (là 8080 trước Cassandra 0.8.xx)
  • 7000 - Giao tiếp lóng (không được sử dụng nếu TLS được bật)
  • 7001 - Giao tiếp TLS Internode (được sử dụng nếu TLS được bật)
  • 9160 - API ứng dụng khách tiết kiệm
  • 9042 - Cảng vận tải bản địa CQL

4
Đây là liên kết cập nhật tính đến năm 2017 tới tài liệu chính thức cassandra.apache.org/doc/latest/faq/index.html#what-ports
Johnride,

44

Đối với Apache Cassandra 2.0, bạn cần tính đến các cổng TCP sau : (Xem cấu hình nhóm bảo mật EC2Câu hỏi thường gặp về Apache Cassandra )

Cassandra

  • Cổng giám sát 7199 JMX
  • 1024 - 65355 Cổng ngẫu nhiên theo yêu cầu của JMX. Bắt đầu với Java 7u4 một cổng cụ thể có thể được chỉ định bằng thuộc com.sun.management.jmxremote.rmi.porttính.
  • 7000 cụm nút liên
  • 7001 Cụm nút liên nút SSL
  • 9042 CQL Native Transport Port
  • 9160 Tiết kiệm

DataStax OpsCenter

  • 61620 opscenterd daemon
  • Đại lý 61621
  • Trang web 8888

Ngành kiến ​​trúc

Một kiến ​​trúc khả thi với Cassandra + OpsCenter trên EC2 có thể trông như sau: AWS EC2 với OpsCenter


35

8080 - JMX (từ xa)

8888 - Trình gỡ lỗi từ xa (bị gỡ bỏ trong 0.6.0)

7000 - Được sử dụng nội bộ bởi Cassandra
(7001 - Đã lỗi thời, bị loại bỏ trong 0.6.0. Được sử dụng để liên lạc với thành viên, còn gọi là buôn chuyện)

9160 - API ứng dụng khách tiết kiệm

Câu hỏi thường gặp về Cassandra Cassandra sử dụng những cổng nào?


7

JMX hiện sử dụng cổng 7199 thay vì cổng 8080 (như Cassandra 0.8.xx).

Điều này có thể được định cấu hình trong tệp cassandra-env.sh của bạn, nhưng mặc định là 7199.


5

Cổng 57311 và 57312 là các cổng được chỉ định ngẫu nhiên được sử dụng cho giao tiếp RMI. Các cổng này thay đổi mỗi khi Cassandra khởi động, nhưng cần phải mở trong tường lửa, cùng với 8080/7199 (tùy thuộc vào phiên bản), để cho phép truy cập JMX từ xa. Một điều gì đó dường như không được ghi chép rõ ràng, nhưng đã khiến tôi vấp phải trong quá khứ.


1
Đối với hậu thế, sự khó chịu này nên được khắc phục, từ Cassandra 2.0.8 trở đi theo vé này . Giá trị mặc định cassandra-env.shbây giờ đặt thuộc com.sun.management.jmxremote.rmi.porttính có cùng giá trị với cổng JMX chính để các cổng ngẫu nhiên không được sử dụng.
ches

0

Ngoài các câu trả lời trên, là một phần của việc định cấu hình tường lửa của bạn, nếu bạn đang sử dụng SSH thì hãy sử dụng cổng 22.


0

Tôi đã giải quyết sự cố bằng các bước dưới đây:

  1. Dừng dịch vụ cassandara

    sudo su -
    systemctl stop datastax-agent
    systemctl stop opscenterd
    systemctl stop app-dse
    
  2. Sao lưu và thay đổi cổng từ 9042 thành 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. Khởi động dịch vụ Cassandra

    systemctl start datastax-agent
    systemctl start opscenterd
    systemctl start app-dse
    
  4. tạo tệp cqlshrc.

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

Cảm ơn, Mahesh

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.