Использование портов 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

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

7 ответов


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

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

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

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

Кассандра

  • 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 with OpsCenter


8080-JMX (remote)

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

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

9160 - API бережливого клиента

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


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

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


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


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


Я решил проблему, используя шаги, описанные ниже :

  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
    

спасибо, Махеш!--5-->