2013-03-14 2 views
2

저는 Cassandra CQL/JDBC 드라이버를 사용하고 있습니다. google code에서 가져 왔지만 클러스터 이름을 알려주지 않는 것 같습니다 - 방법이 있습니까?Cassandra CQL/JDBC 드라이버를 사용할 때 클러스터 이름을 설정하십시오.

라이브 시스템에 대해 명령을 실행하지 않도록 클러스터 이름을 사용하고 있습니다. 내 시스템과 다른 클러스터 이름을 사용합니다.

편집 : 명확히하기 위해, 나는 완전히 분리 된 2 개의 카산드라 클러스터를 가지고 있습니다. 하나는 테스트 용이고 하나는 라이브입니다. 라이브 클러스터에서 테스트 클러스터 용 테스트 코드를 실수로 실행하지 않도록 다른 클러스터 이름을 사용합니다. 따라서 사용할 클라이언트가 클러스터 이름을 설정해야합니다. 헥터가 해.

답변

1

Cassandra 클라이언트의 클러스터 이름을 확인하기위한 내장 보호 기능이 없습니다. 다른 클러스터의 노드가 함께 결합하지는 않지만 클라이언트가 올바른 클러스터에 연결하는지 확인하지 못하도록합니다. 이 검사를 클라이언트에 추가 할 수는 있지만 (클러스터 이름은 클라이언트에 노출되어 있기 때문에) 클라이언트에게 알리는 것은 아니지만이 작업을 수행하는 클라이언트는 알지 못합니다.

이러한 종류의 실수를 피하려면 다른 환경에서 방화벽을 설치하는 것이 좋습니다. 그렇게 할 수 없다면 혼란을 피하기 위해 다른 포트를 선택해야합니다. 이 값을 cassandra.yaml의 'rpc_port'설정으로 변경하십시오.

+0

카산드라를 분리하는 가장 일반적인 방법은 방화벽을 사용하는 것 같습니다. – ChucK

3

두 개의 서로 다른 클러스터에서 데이터를 미러링해야합니다. 동일한 클러스터에 다른 이름으로 액세스 할 수 없습니다.

클러스터의 이름을 바꾸려면 (기본값 'Test Cluster'에서) location/of/cassandra/conf/cassandra.yaml에있는 cassandra 구성 파일을 편집하십시오. 그것의 최고 선, 세부 사항을 필요로하는 경우에 datastax configuration documentation 및 설명을보십시오.

관련 문제