Ao fazer experiências com o Cassandra, observei que o Cassandra escuta as seguintes portas:
- 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
Como o Cassandra usa cada uma das portas listadas?
Ao fazer experiências com o Cassandra, observei que o Cassandra escuta as seguintes portas:
Como o Cassandra usa cada uma das portas listadas?
Respostas:
@Schildmeijer está amplamente certo, no entanto a porta 7001 ainda é usada ao usar a comunicação entre nós criptografados por TLS
Portanto, minha lista completa seria para as versões atuais do Cassandra:
Para o Apache Cassandra 2.0, você precisa levar em consideração as seguintes portas TCP : (Consulte a configuração do grupo de segurança EC2 e as perguntas frequentes do Apache Cassandra )
com.sun.management.jmxremote.rmi.port
propriedade.Uma possível arquitetura com Cassandra + OpsCenter no EC2 poderia ser assim:
8080 - JMX (remoto)
8888 - Depurador remoto (removido em 0.6.0)
7000 - Usado internamente por Cassandra
(7001 - Obsoleto, removido em 0.6.0. Usado para comunicação de membros, também conhecido como fofoca)
9160 - API do cliente Thrift
Perguntas frequentes do Cassandra Quais portas o Cassandra usa?
As portas 57311 e 57312 são portas atribuídas aleatoriamente, usadas para comunicação RMI. Essas portas mudam cada vez que o Cassandra é inicializado, mas precisam ser abertas no firewall, junto com 8080/7199 (dependendo da versão), para permitir o acesso remoto ao JMX. Algo que não parece estar muito bem documentado, mas que me fez tropeçar no passado.
cassandra-env.sh
agora define a com.sun.management.jmxremote.rmi.port
propriedade com o mesmo valor da porta JMX principal para que as portas aleatórias não sejam usadas.
Além das respostas acima, como parte da configuração do seu firewall, se você estiver usando SSH, use a porta 22.
Resolvi o problema usando as etapas abaixo:
Pare os serviços cassandara
sudo su -
systemctl stop datastax-agent
systemctl stop opscenterd
systemctl stop app-dse
Faça backup e mude a porta de 9042 para 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
Inicie os serviços do Cassandra
systemctl start datastax-agent
systemctl start opscenterd
systemctl start app-dse
crie o arquivo cqlshrc.
vi /root/.cassandra/cqlshrc
[connection]
hostname = 198.168.1.100
port = 9035
Obrigado, Mahesh