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는 나열된 각 포트를 어떻게 사용합니까?
Cassandra를 실험 할 때 Cassandra가 다음 포트를 수신하는 것을 관찰했습니다.
Cassandra는 나열된 각 포트를 어떻게 사용합니까?
답변:
@Schildmeijer는 대체로 옳지 만 포트 7001은 여전히 사용할 때 사용됩니다. TLS 암호화 된 노드 간 통신을
따라서 내 전체 목록은 현재 버전의 Cassandra에 대한 것입니다.
Apache Cassandra 2.0의 경우 다음 TCP 포트 를 고려해야합니다 ( EC2 보안 그룹 구성 및 Apache Cassandra FAQ 참조). )
com.sun.management.jmxremote.rmi.port
속성을 .EC2에서 Cassandra + OpsCenter를 사용하는 가능한 아키텍처는 다음과 같습니다.
8080-JMX (원격)
8888-원격 디버거 (0.6.0에서 제거됨)
7000-Cassandra 내부에서 사용됨
(7001-폐기 됨, 0.6.0에서 제거됨. 멤버십 커뮤니케이션, 일명 가십에 사용됨)
9160-Thrift 클라이언트 API
Cassandra FAQ Cassandra는 어떤 포트를 사용합니까?
포트 57311 및 57312는 RMI 통신에 사용되는 임의로 할당 된 포트입니다. 이러한 포트는 Cassandra가 시작될 때마다 변경되지만 원격 JMX 액세스를 허용하려면 8080/7199 (버전에 따라 다름)와 함께 방화벽에서 열려 있어야합니다. 특히 잘 문서화되지 않은 것처럼 보이지만 과거에 나를 넘어 뜨린 것.
cassandra-env.sh
설정합니다 com.sun.management.jmxremote.rmi.port
.
위의 답변 외에도 방화벽 구성의 일부로 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 서비스 시작
systemctl start datastax-agent
systemctl start opscenterd
systemctl start app-dse
cqlshrc 파일을 만듭니다.
vi /root/.cassandra/cqlshrc
[connection]
hostname = 198.168.1.100
port = 9035
감사합니다, Mahesh