2.3. ESB и Indexator

ESB - шина синерджи, предоставляет средства по управлению, контролю, маршрутизации сервисов, а так же позволяет синхронно и асинхронно вызывать сервисы.

Indexator - новый индексатор документов Synergy. Индексирует данные документов при их изменении и заливает в Cassandra.

2.3.1. Установка

Для установки необходимо

  1. Установить Java 7 При этом необходимо проверить, что Java 7 является системной версией Java по умолчанию:

$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

Если java version у вас отличается от 1.7.0_XX, то необходимо установить Java 7 по умолчанию:

# update-java-alternatives --list
j2sdk1.6-oracle 315 /usr/lib/jvm/j2sdk1.6-oracle
j2sdk1.7-oracle 317 /usr/lib/jvm/j2sdk1.7-oracle
java-6-sun 63 /usr/lib/jvm/java-6-sun

# update-java-alternatives --set j2sdk1.7-oracle

На ошибки вида update-alternatives: ошибка: нет альтернатив для HtmlConverter можно не обращать внимание

  1. Установить пакет cassandra из репозитория unstable

  2. Обновить пакет arta-synergy-synergy из репозитория unstable

  3. Последние версии индексатора (который будет изменяться в связи с разработкой задачи про сортировку) будет пока доступен на SVN по URL: svn://forge.arta.local/svnroot/synergy/trunk/build/artifacts/docIndex.jar

2.3.2. Разработка

  1. Обновить bootstrap и запустить

  2. Обновить проект

2.3.3. Тюнинг Cassandra

Cassandra обладает богатым функционало настроек

  • Тюнинг памяти Cassandra - при запуске и/или сборки Cassandra(зависит от используемой сборки) происходит настройка ограничений используемой оперативной памяти.

  • При доступности менее 2GB Cassandra будет использовать 50% от доступной памяти

  • При доступности от 2 до 4GB будет использован 1GB оперативной памяти

  • при доступности более 4GB оперативной памяти будет использовано 25% от доступной памяти, но не более 8GB

При необходимости эту стратегию можно изменить отредактировав cassandra-env.sh (для сборки stratio этот файл находится в /etc/cassandra). Редактировать для установки фиксированного значения необходимо раскомментироваться строки

MAX_HEAP_SIZE=”4G”
HEAP_NEWSIZE=”800M”

В качестве значения можно установить требуемые параметры, но следует придерживать правила зоны комфорта работы Cassandra.

  1. Придельная минимальная зона комфорта работы Cassandra находится в диапазоне 500MB. Это обусловлено стратегией работы карты ключей. Если вы хотите использовать меньше 500MB первое, что вам необходимо заниматься тюнингом хранения ключей.

  2. Предельная максимальная зона комфорта для работы Cassandra составляет примерно 15GB. Это опять так обусловлено пространством ключей.

  3. Если по какой-то причине требуется больше 16GB оперативной памяти, то вплоть до 32GB оперативной памяти будет наблюдаться отрицательный эфект.

  4. Из-за специфика записи на диск больших файлов в Cassandra каждая строка записываемая и читаемая не должна превышать 80% от выделенной памяти.