2011-01-17 10 views
6

카산드라는 여전히 베타 테스트 중이지만 나는 그걸 가지고 놀고 싶습니다. 이것은 결코 생산 프로젝트가 아닙니다. 그것은 단지 재미와 조금 배우기위한 것입니다. 그러나 배울 수있는 가장 좋은 방법은 실제로 사람들을 배치하고 보행을 통해 얻는 것입니다.EC2에서 Cassandra를 배포 하시겠습니까?

나는 Heroku와 함께 Cassandra를 사용하고 싶습니다. 그래서 Heroku는 EC2에 배치하고 싶습니다. 그렇게하는 것이 가장 쉽고, 가장 쉽고, 가장 저렴한 방법은 무엇입니까? 어떤 추천?

Google을 통해 몇 가지를 보았지만 다음과 같은 경고 메시지가 표시됩니다. EC2 인스턴스는 프로덕션 용도로 적합하지 않습니다. 인스턴스 자체에 데이터를 저장하고 인스턴스가 종료되면 사라집니다.

답변

4
  • 사용 탄성 블록 스토리지 (EBS) 카산드라 로그 및 데이터 파일을 저장하기위한 인스턴스. 이 파일의 위치를 ​​지정하려면 /etc/cassandra/cassandra.yaml을 변경해야합니다. EBS 인스턴스는 연결된 EC2 인스턴스가 종료 될 때까지 지속됩니다.

  • 하나의 인스턴스에 설치하여 인터페이스를 시험하고 데이터 모델을 시험해 볼 수 있습니다. 아직 클러스터를 설정할 필요가 없습니다.

  • 클러스터링 기능을 테스트하려면 세 개의 인스턴스를 설정하고 모든 키 공간에 복제 인수 3을 부여하십시오. 그러나 데이터 모델을 실험하는 것보다 나중에 실험 단계가 될 수 있습니다. 권장되는 최소 클러스터 크기는 3입니다.

  • 다른 시스템 크기로 실험해야합니다. 초소형 인스턴스 크기를 실험하려면 Rackspace와 같은 대체 공급 업체를 사용할 수 있습니다. 더 작은 인스턴스 크기로 성능 문제가 발생하면 인스턴스 크기를 위로 이동하면 이러한 문제가 해결되는지 확인하십시오.

  • 레일즈를위한 알파 카산드라 객체 매핑 라이브러리가 몇 가지 있습니다. 이것들은 당신을 위해 꽤 효과적이지 않다는 것을 알 수 있습니다. 다시 기여하거나 모델에 직접 모델 지속성 코드를 구현할 수 있습니다. Rails 3 응용 프로그램의 경우, ActiveModel 인터페이스 및 도우미 모듈을 참조하여 ActionPack 및 ActiveModel 호환 모델을 필요로하는 기타 라이브러리에서 모델이 제대로 작동하도록 할 수 있습니다.

+2

이 응답은 실제로 구형입니다. 첫째, 아무도 EBS를 카산드라와 함께 사용하지 않습니다. 진심으로 그것을하지 마십시오. 대신 ext4로 모든 임시 디스크의 LVM RAID-0 볼륨을 만듭니다. 네 개의 임시 표식이 있고 I/O 대역폭이 EC2에서 가장 큰 병목이기 때문에 m1.xlarge를 사용하십시오. 노드를 스트라이프하여 가용 영역 전체에서 스트리밍하면 순 스플릿/전체 AZ 작동이 지속될 수 있습니다. 일반 nodetool 스냅 샷을 수행하고 백업을 위해 S3에 업로드 할 cron 작업을 작성하십시오. I/O 대역폭이 가장 적기 때문에 프로덕션 환경에서 인스턴스 크기를 늘리는 것보다 클러스터를 성장시킬 가능성이 큽니다. –

관련 문제