Использование порта Кассандры - как используются порты?

97

Экспериментируя с 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

Как Кассандра использует каждый из перечисленных портов?

Knorv
источник
13
Адамс: Спасибо за подсказку! Вероятно, это так, но ради будущих пользователей Cassandra в Stackoverflow (растущее население!) Я считаю, что хорошо, если ответ будет сохранен здесь :-)
knorv 01

Ответы:

131

@Schildmeijer в значительной степени прав, однако порт 7001 все еще используется при использовании TLS-зашифрованной связи между узлами

Итак, мой полный список относится к текущим версиям Cassandra:

  • 7199 - JMX (был 8080 до Cassandra 0.8.xx)
  • 7000 - Обмен данными между узлами (не используется, если включен TLS)
  • 7001 - Связь между узлами TLS (используется, если TLS включен)
  • 9160 - API сберегательного клиента
  • 9042 - собственный транспортный порт CQL
Мэтью О'Риордан
источник
4
Вот ссылка уточненный по состоянию на 2017 год в официальной документации cassandra.apache.org/doc/latest/faq/index.html#what-ports
Johnride
45

Для Apache Cassandra 2.0 вам необходимо принять во внимание следующие TCP- порты: (См. Конфигурацию группы безопасности EC2 и FAQ по 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 сберегательного клиента

Cassandra FAQ Какие порты использует Cassandra?

Шильдмейер
источник
7

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

Это можно настроить в файле cassandra-env.sh, но по умолчанию - 7199.

Дэвид
источник
5

Порты 57311 и 57312 - это произвольно назначаемые порты, используемые для связи RMI. Эти порты меняются каждый раз при запуске Cassandra, но они должны быть открыты в брандмауэре вместе с 8080/7199 (в зависимости от версии), чтобы разрешить удаленный доступ JMX. То, что не особо хорошо задокументировано, но сбивало меня с толку в прошлом.

Крисбанни
источник
1
Для потомков это раздражение должно быть исправлено, начиная с Cassandra 2.0.8 и далее согласно этому билету . По умолчанию cassandra-env.shтеперь для com.sun.management.jmxremote.rmi.portсвойства устанавливается то же значение, что и для основного порта JMX, поэтому случайные порты не используются.
ches
0

В дополнение к приведенным выше ответам в рамках настройки брандмауэра, если вы используете SSH, используйте порт 22.

Киртикант Чоудари
источник
0

Я решил проблему, выполнив следующие действия:

  1. Остановить службы cassandara

    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 Services

    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
    

Спасибо, Махеш

Махеш Агравал
источник