2011-01-17 4 views
6

Я знаю, что Кассандра все еще очень в бета-версии, но я бы хотел поиграть с ней. Это никоим образом не является производственным проектом; это просто для удовольствия и немного поучиться. Но лучший способ научиться - это фактически развернуть и заставить людей прокладывать себе путь.Развертывание Кассандры на EC2?

Я хочу использовать Кассандру с Heroku, поэтому я хотел бы развернуть его на EC2 (например, Heroku). Какой самый лучший, самый простой и дешевый способ сделать это? Любые рекомендации?

Я видел несколько через Google, но они предупреждают такие вещи, как: экземпляры EC2 не подходят для использования в производстве. Они хранят данные в самом экземпляре и исчезают при закрытии экземпляра.

ответ

4
  • Использование Elastic Block Storage (EBS) экземпляров для хранения Cassandra журнала и файлы данных. Вам нужно будет изменить /etc/cassandra/cassandra.yaml, чтобы указать, куда идут эти файлы. Экземпляры EBS сохраняются за пределами тех случаев, когда экземпляры EC2 подключены к закрытию.

  • Вы можете установить его на одном экземпляре, чтобы опробовать интерфейс и поэкспериментировать с моделью данных. Вам еще не нужно настраивать кластер.

  • Чтобы проверить возможности кластеризации, вы можете попробовать настроить три экземпляра и предоставить всем ключам коэффициент репликации 3. Но это может быть более поздний этап экспериментов, чем эксперимент с моделью данных. Рекомендуемый минимальный размер кластера равен 3.

  • Вы должны поэкспериментировать с различными размерами машин. Для экспериментов со сверхмалыми размерами экземпляров вы можете использовать альтернативных поставщиков, таких как Rackspace. Если вы столкнулись с проблемами производительности с меньшими размерами экземпляров, посмотрите, разрешает ли это изменение размера экземпляра.

  • Существует несколько библиотек альфа-кассандры для сопоставления объектов для Rails. Вы можете обнаружить, что это не работает для вас. Вы можете выбрать возможность вернуться к ним или просто реализовать код сохранения модели непосредственно в своих моделях. Для приложений Rails 3 вы можете посмотреть интерфейс ActiveModel и вспомогательные модули, чтобы ваши модели хорошо работали с ActionPack и другими библиотеками, которые ожидают совместимые с ActiveModel модели.

+2

Этот ответ действительно устарел. Во-первых, никто не использует EBS с кассандрой. Серьезно не делайте этого. Вместо этого создайте том LVM RAID-0 всех эфемерных дисков с помощью ext4. Используйте m1.xlarge, так как он имеет четыре эфемерала, а пропускная способность ввода-вывода - ваше самое большое узкое место на EC2. Удостоверьтесь в том, что вы полосуете свои узлы в зонах доступности, чтобы вы могли пережить чистую сплит-цепочку AZ. Напишите задание cron, чтобы делать регулярные снимки nodetool и загружать на S3 для резервного копирования. Опять же, поскольку пропускная способность ввода-вывода является вашим злейшим врагом, вы, скорее всего, увеличите свой кластер, чем увеличиваете размер экземпляра один раз в производстве. –

Смежные вопросы