[nosql] 카산드라 포트 사용-포트는 어떻게 사용됩니까?

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는 나열된 각 포트를 어떻게 사용합니까?



답변

@Schildmeijer는 대체로 옳지 만 포트 7001은 여전히 ​​사용할 때 사용됩니다. TLS 암호화 된 노드 간 통신을

따라서 내 전체 목록은 현재 버전의 Cassandra에 대한 것입니다.

  • 7199-JMX (기존 8080 이전 Cassandra 0.8.xx)
  • 7000-노드 간 통신 (TLS가 활성화 된 경우 사용되지 않음)
  • 7001-TLS 노드 간 통신 (TLS가 활성화 된 경우 사용됨)
  • 9160-Thrift 클라이언트 API
  • 9042-CQL 기본 전송 포트

답변

Apache Cassandra 2.0의 경우 다음 TCP 포트 를 고려해야합니다 ( EC2 보안 그룹 구성 및 Apache Cassandra 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 웹 사이트

건축물

EC2에서 Cassandra + OpsCenter를 사용하는 가능한 아키텍처는 다음과 같습니다.
OpsCenter가 포함 된 AWS EC2


답변

8080-JMX (원격)

8888-원격 디버거 (0.6.0에서 제거됨)

7000-Cassandra 내부에서 사용됨
(7001-폐기 됨, 0.6.0에서 제거됨. 멤버십 커뮤니케이션, 일명 가십에 사용됨)

9160-Thrift 클라이언트 API

Cassandra FAQ Cassandra는 어떤 포트를 사용합니까?


답변

JMX는 이제 포트 8080 대신 포트 7199를 사용합니다 (Cassandra 0.8.xx 기준).

이는 cassandra-env.sh 파일에서 구성 할 수 있지만 기본값은 7199입니다.


답변

포트 57311 및 57312는 RMI 통신에 사용되는 임의로 할당 된 포트입니다. 이러한 포트는 Cassandra가 시작될 때마다 변경되지만 원격 JMX 액세스를 허용하려면 8080/7199 (버전에 따라 다름)와 함께 방화벽에서 열려 있어야합니다. 특히 잘 문서화되지 않은 것처럼 보이지만 과거에 나를 넘어 뜨린 것.


답변

위의 답변 외에도 방화벽 구성의 일부로 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 서비스 시작

    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
    

감사합니다, Mahesh