Використання портів Кассандри - як використовуються порти?


96

Експериментуючи з Кассандрою, я помітив, що Кассандра слухає наступні порти:

  • 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

Як Кассандра використовує кожен із перелічених портів?


13
adamse: Дякую за пораду! Це, мабуть, так, але заради майбутніх користувачів Кассандри на Stackoverflow (зростаюче населення!) Я вважаю, що добре також відповідь зберігати тут :-)
knorv

Відповіді:


131

@Schildmeijer здебільшого правий, проте порт 7001 все ще використовується при використанні TLS-зашифрованого інтернодного зв'язку

Тож мій повний список буде для поточних версій Cassandra:

  • 7199 - JMX (був 8080 до Кассандри 0,8.xx)
  • 7000 - Зв'язок між вузлами (не використовується, якщо TLS увімкнено)
  • 7001 - Міжвузлова комунікація TLS (використовується, якщо TLS увімкнено)
  • 9160 - API економного клієнта
  • 9042 - рідний транспортний порт CQL

4
Ось
оновлене

44

Для Apache Cassandra 2.0 потрібно враховувати такі порти TCP : (Див. Конфігурацію групи безпеки EC2 та поширені запитання Apache Cassandra )

Кассандра

  • 7199 порт моніторингу JMX
  • 1024 - 65355 Випадковий порт, необхідний JMX. Починаючи з Java 7u4, за допомогою властивості можна вказати конкретний порт com.sun.management.jmxremote.rmi.port.
  • 7000 міжвузловий кластер
  • 7001 міжвузольний кластер SSL
  • Власний транспортний порт 9042 CQL
  • 9160 Ощадливість

DataStax OpsCenter

  • 61620 opscenterd демон
  • 61621 Агент
  • 8888 Веб-сайт

Архітектура

Можлива архітектура з Cassandra + OpsCenter на EC2 може виглядати так: AWS EC2 з OpsCenter


35

8080 - JMX (дистанційний)

8888 - Віддалений налагоджувач (видалено в 0.6.0)

7000 - Використовується внутрішнім Кассандрою
(7001 - застарілий, видалено в 0.6.0. Використовується для спілкування з членством, він же плітки)

9160 - API економного клієнта

Поширені запитання про Кассандру Які порти використовує Кассандра?


7

Тепер JMX використовує порт 7199 замість порту 8080 (станом на Cassandra 0.8.xx).

Це можна настроїти у вашому файлі cassandra-env.sh, але за замовчуванням - 7199.


5

Порти 57311 і 57312 - випадкові порти, призначені для зв'язку RMI. Ці порти змінюються щоразу, коли Cassandra запускається, але їх потрібно відкривати в брандмауері разом з 8080/7199 (залежно від версії), щоб забезпечити віддалений доступ до JMX. Щось, що, здається, не є дуже добре задокументованим, але мене спонукало в минулому.


1
Для нащадків цю досаду слід виправити, починаючи з Кассандри 2.0.8 і далі відповідно до цього квитка . За замовчуванням в cassandra-env.shданий час встановлює com.sun.management.jmxremote.rmi.portвластивість до того ж значенню, що і основний порт JMX так що випадкові порти не використовуються.
ches

0

На додаток до наведених вище відповідей, як частина налаштування брандмауера, якщо ви використовуєте SSH, використовуйте порт 22.


0

Я вирішив проблему, виконавши наведені нижче дії.

  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. Запустіть послуги Кассандри

    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
    

Дякую, Махеш

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.