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

Экспериментируя с 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 использует каждый из перечисленных портов?

8 ответов

Решение

@Schildmeijer в основном прав, однако порт 7001 по-прежнему используется при использовании TLS Encrypted Internode Communication

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

  • 7199 - JMX (8080 до Cassandra 0.8.xx)
  • 7000 - связь между узлами (не используется, если включен TLS)
  • 7001 - связь между узлами TLS (используется, если включен TLS)
  • 9160 - API Thrift-клиента
  • 9042 - собственный транспортный порт CQL

Для Apache Cassandra 2.0 вам необходимо учитывать следующие TCP- порты: (См. Конфигурация группы безопасности EC2 и FAQ по Apache Cassandra)

Cassandra

  • 7199 порт мониторинга JMX
  • 1024 - 65355 Случайный порт, необходимый для JMX. Начиная с Java 7u4, можно указать определенный порт с помощью com.sun.management.jmxremote.rmi.port имущество.
  • 7000 Межузловой кластер
  • 7001 SSL межузловой кластер
  • Собственный транспортный порт CQL9042
  • 9160 Thrift

DataStax OpsCenter

  • 61620 opscenterd daemon
  • 61621 агент
  • 8888 Веб-сайт

Архитектура

Возможная архитектура с Cassandra + OpsCenter на EC2 может выглядеть следующим образом:AWS EC2 с OpsCenter

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

8888 - Удаленный отладчик (удалено в 0.6.0)

7000 - Используется внутри Cassandra
(7001 - устарел, удален в 0.6.0. Используется для общения членов, он же сплетня)

9160 - API Thrift-клиента

Часто задаваемые вопросы о Cassandra Какие порты использует Cassandra?

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

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

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

Кассандра Порты:

  • Клиент Кассандры: 9042
  • Сберегательный порт клиента Cassandra: 9160
  • Транспортный порт Кассандры: 7000
  • Транспортный безопасный порт Кассандры: 7001
  • Порт Cassandra JMC: 7199

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

Я решил проблему, используя следующие шаги:

  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
    

Спасибо махеш

Другие вопросы по тегам