2012-09-02 4 views
22

아파치 카산드라를 원격 우분투 서버에 설치했습니다. Apache Cassandra 데이터베이스에 대한 원격 액세스를 허용하는 방법은 무엇입니까? 그리고 연결하는 방법?아파치 카산드라 원격 액세스

답변

44

Cassandra에 원격 액세스는 스 트리지 포트를 통해 이루어집니다 (일부 제한된 작업을 수행하는 데 JMX 포트를 사용할 수 있음).

중고품 포트가 9160. 귀하의 카산드라 노드 기본값은 서버의 네트워크 카드의 IP 주소에 바인딩해야 rpc_port 매개 변수에 의해 cassandra.yaml에 정의되어

- 그것은 안 루프백 인터페이스의입니다 127.0.0.1 또는 localhost IP에 바인딩하면 직접 원격 액세스가 차단됩니다. cassandra.yaml에 rpc_address 매개 변수를 사용하여 바운드 주소를 구성합니다. 이 값을 0.0.0.0으로 설정하면 "모든 네트워크 인터페이스에서 수신 대기"라고 표시되어 적합하지 않을 수도 있습니다.

사용할 수있는 연결을 만들려면 :

  • 카산드라-cli를 카산드라 분배의 bin 디렉토리에 간단한 GET/SET/목록 작업을 제공하고 자바
  • CQL 액세스를 제공하는 cqlsh 쉘에 따라 달라집니다 하늘빛을 사용하는 사람들을위한 같은 Apollo
+1

연결 내가 ... 포트 9160에 내 서버를 텔넷을 시도하는 경우에도 – user1588782

+1

당신이이 명령을 실행 할 수 :(거부 : | 그렙 CassandraDaemon 추신 -ef를, NETSTAT -lntp을 | 그렙 귀하의 카산드라가 듣고있는 IP/포트 콤보가 표시됩니다. 드리프트 포트에 telneting하지 마세요 - 저스트 드리프트 데이터를 전달하면 OutOfMemory 상황이 발생할 수 있습니다 (테스트 및 확인을 위해 상당히 불쾌한 '기능'- 임의의 텍스트로 쓰레기 포트 유형에 텔넷 연결). 다음에 몇 분 동안 CassandraDaemon pid의 메모리 사용량을 모니터링합니다. – CraigJPerry

+1

카산드라는 2 년 전에 0.7.0 버전 이후 스 드리프트 포트에서 무작위로 쓰레기를 처리 할 수 ​​있습니다. – jbellis

3

, 문제는 것을 카산드라에게이 파이썬

  • 높은 수준의 인터페이스에 따라 할 수있다 가상 IP가 가상 머신이 아니라 클라우드 서비스 자체를 가리 키므로 공용 IP 주소를 만들어야합니다. 더 많은 정보를 찾을 수 있습니다 in this post

  • 3

    지금이 질문을 찾는 사람에게는 맨 위 답변이 오래되었습니다.

    Apache Cassandra의 중고 안경 인터페이스는 더 이상 사용되지 않으며 Cassandra 4.0에서 제거 될 예정입니다. 기본 클라이언트 포트는 이제 9042입니다.

    Tyler Hobbs가 언급했듯이 rpc_address 매개 변수가 127.0.0.1 또는 localhost (기본적으로 localhost)로 설정되어 있지 않아야합니다. 당신은 모든 인터페이스에서 수신 대기하도록 0.0.0.0으로 설정하면, 당신은 또한 (당신이 카산드라에 연결하려는 방법에 따라) 어느 노드의 공용 또는 사설 IP 주소에 broadcast_rpc_address를 설정해야합니다

    카산드라 - CLI는 사용되지 않으며 아폴로는 더 이상 활동하지 않습니다. cassandra-cli 대신 cqlsh을 사용하고 Apollo 대신 Java driver을 사용하십시오.

    secure it properly SSL 및 강력한 인증을 사용하도록 설정하지 않으면 원격으로 JMX 포트에 액세스 할 수 없도록 설정하지 않는 것이 좋습니다.

    희망이 있으면 도움이됩니다.