Cassandra
Cassandra — это хранилище значений ключей с конечной консистентностью, подобное HBase и Bigtable Google. Оно реализует распределённую хеш-таблицу с семействами столбцов, первоначально поддерживая API на основе Thrift, очень близкий к API HBase. В последнее время Cassandra перешла к SQL-подобному языку запросов с гораздо большей гибкостью в отношении типов данных, соединений и фильтров. К счастью, интерфейс Thrift по-прежнему доступен, поэтому легко преобразовать схему и вызовы OpenTSDB HBase в Cassandra на низком уровне через API AsyncHBase HBaseClient. AsyncCassandra — это шлюз между OpenTSDB и Cassandra для тестирования TSDB с альтернативным бэкендом.
Настройка
- Настройте кластер Cassandra, используя
ByteOrderedPartitioner. Это критически важно, так как нам требуется сортировка ключей строк. Поскольку это настройка влияет на весь узел, вам может потребоваться настроить кластер, предназначенный для OpenTSDB. - Создайте необходимые пространства имён и семейства столбцов, используя скрипт cassandra-cli:
create keyspace tsdb; use tsdb; create column family t with comparator = BytesType; create keyspace tsdbuid; use tsdbuid; create column family id with comparator = BytesType; create column family name with comparator = BytesType;
- Скомпилируйте TSDB, выполнив sh build-cassandra.sh (или, если вы предпочитаете Maven, sh build-cassandra.sh pom.xml)
- Измените файл opentsdb.conf с параметром asynccassandra.seeds, например asynccassandra.seeds=127.0.0.1:9160.
- В файле конфигурации установите tsd.storage.hbase.uid_table=tsdbuid
- Запустите tsd с помощью build/tsdb tsd --config=<path>/opentsdb.conf
Если вы планируете использовать метаданные или функции дерева, повторите создание пространства имён с правильным именем таблицы.
Конфигурация
В следующей таблице перечислены необходимые и необязательные параметры для запуска OpenTSDB с Cassandra. Эти параметры дополняют стандартные параметры конфигурации TSD из Конфигурации.
| Свойство | Тип | Обязательно | Описание | Значение по умолчанию |
|---|---|---|---|---|
| asynccassandra.seeds | Строка | Обязательно | Список узлов в вашем кластере Cassandra. Они могут быть отформатированы как <имя_хоста>:<порт> | |
| asynccassandra.port | Целое число | Необязательно | Необязательный порт для использования для всех узлов, если он не настроен в настройке seeds. | 9160 |
© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/user_guide/backends/cassandra.html