Использование портов 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 может выглядеть так:
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.
Я решил проблему, используя шаги, описанные ниже :
-
остановить cassandara услуги
sudo su - systemctl stop datastax-agent systemctl stop opscenterd systemctl stop app-dse
-
возьмите резервную копию и измените порт с 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
-
запустить Cassandra services
systemctl start datastax-agent systemctl start opscenterd systemctl start app-dse
-
создать файл cqlshrc.
vi /root/.cassandra/cqlshrc [connection] hostname = 198.168.1.100 port = 9035
спасибо, Махеш!--5-->