couchbase_server
Роль Ansible для Couchbase Server
#####################
###########################
###############################
###################################
#####################################
###### ############# ######
###### ############# ######
###### ######
###### ######
######\ /######
#####################################
###################################
###############################
###########################
###################
Работает с Ansible Galaxy
Вы можете установить эту роль с помощью команды ansible-galaxy
и запустить её
непосредственно из git-репозитория.
Установите роль следующим образом:
ansible-galaxy install couchbaselabs.couchbase_server
Убедитесь, что у вас есть права на запись в /etc/ansible/roles/
, так как это
путь по умолчанию для установки ролей Ansible, или определите свой собственный
путь, создав файл $HOME/.ansible.cfg
с содержимым:
[defaults]
roles_path = <path_to_your_preferred_role_location>
Замените <path_to_your_preferred_role_location>
на директорию, к которой
у вас есть права на запись.
Смотрите документацию ansible-galaxy для получения более подробной информации.
Переменные роли
Если вам нужны простые кластеры для разработки или другого
непроизводственного использования, значения по умолчанию для переменных
роли Couchbase Server хороши как есть. Единственной обязательной переменной является couchbase_nodes:
Если вам нужны специфические настройки производительности или вы хотите подстроить их под свои нужды, этот раздел описывает все переменные роли в деталях, включая их значения по умолчанию.
couchbase_server_edition
Версия Couchbase Server может быть enterprise
или community
. По умолчанию используется значение enterprise
.
couchbase_server_version
Версия и сборка, которую вы хотите установить. По умолчанию используется значение latest
. Если вы хотите использовать конкретную версию, укажите 6.6.0-7909
. Чтобы узнать доступные версии, выполните команду:
yum list --showduplicates couchbase-server
couchbase_server_download_url
Полный URL до файла *.rpm
или *.deb
, из которого вы хотите установить Couchbase Server.
couchbase_os
Все свойства в переменной couchbase_os
являются необязательными и будут иметь значение по умолчанию, если не указаны.
Переменная | По умолчанию | Описание |
---|---|---|
firewalld | false | Устанавливать ли firewalld и добавлять порты Couchbase в публичную зону |
disable_thp | true | Устанавливать ли скрипт disable-thp . Это создаст новый скрипт автозагрузки в /etc/init.d/disable-thp |
common_tools | false | Устанавливать ли общие инструменты, такие как: epel-release, git, jq, ntp, nmap, lshw, sysstat, lvm2, htop, iotop, wireshark, dstat, nmon |
kernel_tunings | true | Применять ли настройки sysctl.conf , т.е. vm.swappiness = 1 . Это создаст новый файл в /etc/sysctl.d/couchbase-server.conf |
user_limits | true | Устанавливать ли лимиты пользователей для пользователя couchbase . Это создаст новый файл в /etc/security/limits.d/couchbase-server.conf |
Пример
couchbase_os:
firewalld: true
disable_thp: true
common_tools: true
kernel_tunings: true
user_limits: true
couchbase_nodes
Все свойства в переменной couchbase_nodes
являются необязательными, кроме свойства hostname
, которое обязательно. Если свойство services:
не указано, будет использовано значение из couchbase_server.default_services
, если оно определено, если не определено, по умолчанию используются data,index,query
. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
*hostname | null | Имя узла для добавления. Эта переменная обязательна для любой установки/конфигурации |
group | null | Имя группы для назначения узлу, если не указано, узел будет добавлен в группу по умолчанию. |
services | - data - index - query |
Сервисы, которые будут запущены на узле, допустимые значения: - data - index - query - fts - eventing - analytics |
Пример
couchbase_nodes:
- hostname: host1.couchbase.example.com
group: AZA
services:
- data
- hostname: host2.couchbase.example.com
group: AZA
services:
- data
- hostname: host3.couchbase.example.com
group: AZB
services:
- data
- hostname: host4.couchbase.example.com
group: AZB
services:
- data
- hostname: host5.couchbase.example.com
group: AZA
services:
- index
- query
- hostname: host6.couchbase.example.com
group: AZB
services:
- index
- query
couchbase_cluster
Все свойства в переменной couchbase_cluster
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
name | My Cluster | Имя кластера Couchbase |
rest_protocol | http | Протокол REST для использования |
port | 8091 | Порт по умолчанию для использования в кластере |
notifications | true | Включить или отключить уведомления в консоли |
index_storage | default | Указывает режим хранения индекса для сервиса индексации. Допустимые режимы хранения: "default" для стандартного бэкенда индекса или memopt для оптимизированных по памяти индексов. |
default_services | - data - index - query |
Сервисы по умолчанию для использования при инициализации кластера или добавлении нового узла в кластер |
Пример
couchbase_cluster:
name: Demo
rest_protocol: http
port: 8091
notifications: true
index_storage: default
default_services:
- data
- index
- query
couchbase_memory_quotas
Все свойства в переменной couchbase_memory_quotas
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
analytics | 1024 | Устанавливает объем памяти для сервиса аналитики (в МБ). Этот лимит будет назначен всем будущим узлам, добавленным в кластер с сервисом аналитики. |
data | 4098 | Указывает объем памяти для сервиса данных (в МБ). Этот лимит будет назначен всем будущим узлам, добавленным в кластер с сервисом данных. |
eventing | 256 | Устанавливает объем памяти для сервиса событий (в МБ). Этот лимит будет назначен всем будущим узлам, добавленным в кластер с сервисом событий. |
fts | 512 | Устанавливает объем памяти для сервиса полнотекстового поиска (в МБ). Этот лимит будет назначен всем будущим узлам, добавленным в кластер с сервисом полнотекстового поиска. |
index | 512 | Устанавливает объем памяти для сервиса индексации (в МБ). Этот лимит будет назначен всем будущим узлам, добавленным в кластер с сервисом индексации. |
Пример
couchbase_memory_quotas:
analytics: 1024
data: 16000
eventing: 256
fts: 512
index: 512
couchbase_security
Все свойства в переменной couchbase_security
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
admin_user | Administrator | Имя пользователя для администратора кластера |
admin_password | password | Пароль для администратора кластера |
disable_http_ui | false | Указывает, доступна ли веб-консоль Couchbase по http. |
disable_www_authenticate | false | Указывает, будет ли Couchbase Server отвечать на неаутентифицированные запросы WWW-Authenticate. |
cluster_encryption_level | control | Указывает уровень шифрования кластера. Уровень используется, когда шифрование включено. Если уровень "all", то как данные, так и управляющие сообщения между узлами кластера будут отправляться по зашифрованным соединениям. Если уровень "control", только управляющие сообщения будут отправляться зашифрованными. |
tls_min_version | tlsv1 | Указывает минимальную версию протокола TLS, которая будет использоваться во всех сервисах Couchbase. |
tls_honor_cipher_order | true | Указывает, следует ли придерживаться порядка шифрования во всех сервисах. Если установлено в true, это позволяет использовать более слабые шифры в списке шифров для обратно совместимости со старыми клиентами/браузерами, при этом заставляя более новых клиентов использовать более сильные шифры. |
Пример
couchbase_security:
admin_user: Administrator
admin_password: password
disable_http_ui: false
disable_www_authenticate: false
cluster_encryption_level: control
tls_min_version: tlsv1
tls_honor_cipher_order: true
couchbase_paths
Все свойства в переменной couchbase_paths
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
data | /opt/couchbase/var/lib/couchbase/data | Путь для хранения файлов данных, создаваемых сервисом данных Couchbase. Обратите внимание, что этот путь также используется для записи индексов представлений на этот сервер. |
index | /opt/couchbase/var/lib/couchbase/data | Путь для хранения файлов, создаваемых сервисом индексации Couchbase. |
analytics | /opt/couchbase/var/lib/couchbase/data | Путь для хранения файлов, создаваемых сервисом аналитики Couchbase. |
eventing | /opt/couchbase/var/lib/couchbase/data | Путь для хранения файлов, создаваемых сервисом событий Couchbase. |
Пример
couchbase_paths:
data: /opt/couchbase/var/lib/couchbase/data
index: /opt/couchbase/var/lib/couchbase/index
analytics: /opt/couchbase/var/lib/couchbase/analytics
eventing: /opt/couchbase/var/lib/couchbase/eventing
couchbase_rebalance_settings
Все свойства в переменной couchbase_rebalance_settings
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
rebalance_retry | false | Включить или отключить автоматическое повторное распределение |
wait_for | 300 | Указывает количество времени, которое нужно подождать после неудачного перераспределения перед повторной попыткой. Время должно быть в пределах от 5 до 3600 секунд |
max_attempts | 1 | Указывает количество попыток повторного перераспределения после его неудачи. Значение должно быть от 1 до 3. |
moves_per_node | 4 | Указывает количество перемещаемых vBucket на узел во время перераспределения. Значение должно быть от 1 до 64. Более высокое значение может улучшить производительность перераспределения, но увеличивает использование ресурсов. Реже это может ухудшить производительность перераспределения. |
Пример
couchbase_rebalance_settings:
rebalance_retry: false
wait_for: 300
max_attempts: 1
moves_per_node: 4
couchbase_audit
Все свойства в переменной couchbase_audit
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
enabled | true | Указывает, включен ли аудит. |
log_path | /opt/couchbase/var/lib/couchbase/logs | Указывает путь к аудита. Это должен быть путь к папке, где хранится аудиторский лог. Папка должна существовать на всех серверах кластера. |
log_rotate_interval | 86400 | Указывает интервал ротации аудиторского лога. Это интервал, в течение которого текущий аудиторский лог будет заменен новым пустым файлом. Минимальный интервал ротации аудиторского лога составляет 15 минут (900 секунд). |
log_rotate_size | 20971520 | Указывает размер ротации аудиторского лога. Это размер, при котором текущий аудиторский лог будет заменен новым пустым файлом. Минимальный размер ротации аудиторского лога 0 байт, максимальный - 524288000 (500 МБ). Если установить значение 0, лог не будет ротироваться по размеру. |
Пример
couchbase_audit:
enabled: true
log_path: /opt/couchbase/var/lib/couchbase/logs
log_rotate_interval: 86400
log_rotate_size: 20971520
couchbase_password_policy
Все свойства в переменной couchbase_password_policy
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
min_length | 6 | Указывает минимальную длину пароля для новых паролей. |
uppercase | false | Указывает, что новые пароли должны содержать хотя бы одну букву верхнего регистра. |
lowercase | false | Указывает, что новые пароли должны содержать хотя бы одну букву нижнего регистра. |
digit | false | Указывает, что новые пароли должны содержать хотя бы одну цифру. |
special_char | false | Указывает, что новые пароли должны содержать хотя бы один специальный символ. |
Пример
couchbase_password_policy:
min_length: 6
uppercase: false
lowercase: false
digit: false
special_char: false
couchbase_query_settings
Все свойства в переменной couchbase_query_settings
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
pipeline_batch | 16 | Количество элементов, которые операторы выполнения могут пакетировать |
pipeline_cap | 512 | Максимальное количество элементов, которые каждый оператор выполнения может буферизовать |
scan_cap | 512 | Максимальный размер буфера для индексов; используйте ноль или отрицательное значение, чтобы отключить |
timeout | 0 | Таймаут выполнения сервера; используйте ноль или отрицательное значение, чтобы отключить |
prepared_limit | 16384 | Максимальное количество подготовленных операторов |
completed_limit | 4000 | Максимальное количество завершенных запросов |
completed_threshold | 1000 | Кэшировать завершенные запросы, которые превысили этот порог (в миллисекундах) |
log_level | info | Устанавливает уровень журнала для сервиса запросов. Валидные уровни журналов: "trace", "debug", "info", "warn", "error", "server" и "none" |
max_parallelism | 1 | Максимальная параллельность на запрос; используйте ноль или отрицательное значение, чтобы отключить |
Пример
couchbase_query_settings:
pipeline_batch: 16
pipeline_cap: 512
scan_cap: 512
timeout: 0
prepared_limit: 16384
completed_limit: 4000
completed_threshold: 1000
log_level: info
max_parallelism: 1
couchbase_index_settings
Все свойства в переменной couchbase_index_settings
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
max_rollback_points | 2 | Максимальное количество точек отката. Значение этого параметра должно быть равно или больше 1. |
stable_snapshot_interval | 5000 | Указывает частоту создания постоянных снимков для восстановления в секундах. Это значит, что в случае сбоя, это будет самая ранняя возможность восстановления индекса из. Значение этого параметра должно быть больше 1. |
memory_snapshot_interval | 200 | Указывает частоту создания снимков в памяти в миллисекундах. Это определяет наиболее раннюю возможность сканирования, чтобы увидеть заданную KV мутацию. Значение этого параметра должно быть больше 1. |
threads | 0 | Устанавливает количество ЦП, которые могут быть использованы индексатором. Значение этого параметра должно быть в диапазоне от 0 до 1024. |
log_level | info | Устанавливает уровень журнала для сервиса индексации. Валидные уровни журналов: "debug", "silent", "fatal", "error", "warn", "info", "verbose", "timing", и "trace" |
Пример
couchbase_index_settings:
max_rollback_points: 2
stable_snapshot_interval: 5000
memory_snapshot_interval: 200
threads: 0
log_level: info
couchbase_autofailover
Все свойства в переменной couchbase_autofailover
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
enabled | true | |
failover_timeout | 120 | Указывает таймаут автоматического сбоя. Это количество времени, в течение которого узел должен быть безотзывным, прежде чем менеджер кластера считает, что узел упал и выполнит сбой. Минимальный таймаут автоматического сбоя составляет 30 секунд в Couchbase Community Edition и 5 секунд в Couchbase Enterprise Edition. |
max_failovers | 1 | Указывает количество событий автоматического сбоя, которые будут обрабатываться до необходимости вмешательства пользователя. Одно событие может быть либо падением одного узла, либо целой серверной группы. Максимально допустимое значение - три. Эта функция доступна только в Couchbase Enterprise Edition. |
failover_of_server_groups | false | Указывает, может ли автоматический сбой касаться целых серверных групп. Эта функция доступна только в Couchbase Enterprise Edition. |
failover_on_data_disk_issues | true | Указывает, включен ли автоматический сбой по проблемам с дисками службы данных. Установите этот параметр в "1", чтобы разрешить сбой по проблемам с дисками службы данных или в "0", чтобы отключить. "-failover-data-disk-period" должен быть установлен одновременно с включением этой опции. Эта функция доступна только в Couchbase Enterprise Edition. |
failover_data_disk_period | 120 | Указывает период времени, в течение которого служба данных проверяется на наличие потенциальных продолжающихся ошибок ввода-вывода на диске. Служба данных проверяется каждую секунду на наличие ошибок диска. Если 60% проверок в течение этого периода сообщают об ошибках диска, то узел может быть автоматически выключен. "-enable-failover-on-data-disk-issues" должно быть установлено при использовании этой опции. Период проверки диска данных варьируется от 5 до 3600 секунд. |
can_abort_rebalance | true | Разрешает автоматический сбой отменять перераспределение и выполнять автоматический сбой. Эта функция доступна только в Couchbase Enterprise Edition. |
Пример
couchbase_autofailover:
enabled: true
failover_timeout: 120
max_failovers: 1
failover_of_server_groups: false
failover_on_data_disk_issues: true
failover_data_disk_period: 120
can_abort_rebalance: true
couchbase_email_alerts
Все свойства в переменной couchbase_email_alerts
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
enabled | false | Включает уведомления по электронной почте в этом кластере. |
username | null | Имя пользователя сервера электронной почты для отправителя. Это поле обязательно, если предоставленный адрес электронной почты требует аутентификации. |
password | null | Пароль сервера электронной почты для отправителя. Это поле обязательно, если предоставленный адрес электронной почты требует аутентификации. |
host | localhost | Имя хоста сервера электронной почты, который хранит указанный адрес отправителя |
port | 25 | Номер порта сервера электронной почты, который хранит указанный адрес отправителя. |
encrypt | false | Включает SSL-шифрование при подключении к серверу электронной почты. |
sender | couchbase@localhost | Если уведомления по электронной почте включены, этот параметр установит адрес электронной почты отправителя. |
recipients | [] | Список пользователей, которым отправляется электронная почта, когда возникает уведомление на сервере. |
alerts | - alert-auto-failover-node - alert-auto-failover-max-reached - alert-auto-failover-node-down - alert-auto-failover-cluster-small - alert-auto-failover-disable - alert-ip-changed - alert-disk-space - alert-meta-overhead - alert-meta-oom - alert-write-failed - alert-audit-msg-dropped - alert-indexer-max-ram - alert-timestamp-drift-exceeded - alert-communication-issue |
- alert-auto-failover-node: Указывает, что уведомление по электронной почте должно быть отправлено, когда узел будет автоматически отключен. - alert-auto-failover-max-reached: Указывает, что уведомление по электронной почте должно быть отправлено, когда достигнуто максимальное количество автоматических сбоев. - alert-auto-failover-node-down: Указывает, что уведомление по электронной почте должно быть отправлено, когда автоматический сбой не может быть завершен, потому что другой узел в кластере уже отключен. - alert-auto-failover-cluster-small: Указывает, что уведомление по электронной почте должно быть отправлено, когда автоматический сбой не может быть выполнен, потому что кластер слишком мал. - alert-auto-failover-disable: Указывает, что уведомление по электронной почте должно быть отправлено, когда автоматический сбой не может быть завершен, потому что автоматический сбой отключен в этом кластере. - alert-ip-changed: Указывает, что уведомление по электронной почте должно быть отправлено, когда IP-адрес на узле в кластере изменяется. - alert-disk-space: Указывает, что уведомление по электронной почте должно быть отправлено, когда использование диска на узле в кластере достигает 90% доступного дискового пространства. - alert-meta-overhead: Указывает, что уведомление по электронной почте должно быть отправлено, когда метаданные превышают 50%. - alert-meta-oom: Указывает, что уведомление по электронной почте должно быть отправлено, когда вся память в кэше для ведра используется метаданными. Если это условие выполнено, ведро будет невозможно использовать, пока в кэш ведра не добавится больше памяти. - alert-write-failed: Указывает, что уведомление по электронной почте должно быть отправлено, когда запись данных на диск в службе данных не удалась. - alert-audit-msg-dropped: Указывает, что уведомление по электронной почте должно быть отправлено, когда запись события в журнал аудита не удалась. - alert-indexer-max-ram: Указывает, что уведомление по электронной почте должно быть отправлено, когда использование памяти для сервиса индексирования на определенном узле превышает лимит использования памяти для каждого узла. Это предупреждение показывается только в том случае, если тип хранения индекса - оптимизированные по памяти индексы (MOI). - alert-timestamp-drift-exceeded: Указывает, что уведомление по электронной почте должно быть отправлено, если часы на двух различных машинах в кластере различаются более чем на пять секунд. - alert-communication-issue: Указывает, что уведомление по электронной почте должно быть отправлено, когда узлы испытывают проблемы с коммуникацией. |
Пример
couchbase_email_alerts:
enabled: true
host: localhost
port: 25
encrypt: false
sender: couchbase@localhost
recipients:
- [email protected]
alerts:
- alert-auto-failover-node
- alert-auto-failover-max-reached
- alert-auto-failover-node-down
- alert-auto-failover-cluster-small
- alert-auto-failover-disable
- alert-ip-changed
- alert-disk-space
- alert-meta-overhead
- alert-meta-oom
- alert-write-failed
- alert-audit-msg-dropped
- alert-indexer-max-ram
- alert-timestamp-drift-exceeded
- alert-communication-issue
couchbase_buckets[]
Переменная couchbase_buckets
является пустым списком по умолчанию. При указании доступны следующие свойства для каждого элемента списка, свойство name
обязательно, остальные свойства необязательны и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
*name | null | Имя ведра для создания. Можно использовать только символы из диапазонов A-Z, a-z и 0-9, а также символ подчеркивания, точка, тире и процентный символ. Имя может иметь длину максимум 100 символов. |
type | couchbase | Тип ведра для создания. Допустимые типы ведер: "couchbase", "ephemeral" и "memcached". Ведро Couchbase является стандартным типом ведра. Оно поддерживает сохранение данных, репликацию, кэширование, индексирование, представления и запросы N1QL. Ведро Ephemeral является аналогом ведра Couchbase, но не поддерживает сохранение данных или представления. Ведро Memcached является только кэшем и не поддерживает сохранение, репликацию, индексирование, представления или запросы N1QL: это ведро ведет себя так же, как сервер Memcached. Ведра Memcached устарели, и вместо них следует использовать ведра Ephemeral. |
storage_backend | couchstore | Тип хранения для использования с ведром. Это указано только для "couchbase" ведер. Допустимые значения: "couchstore" или "magma". |
ram_size | 100 | Объем памяти, выделяемый для кэша этого ведра в мегабайтах. Квота памяти этого ведра должна соответствовать общей квоте памяти кластера. Минимальный размер кэша - 100 МБ. |
replicas | 1 | Количество серверов, на которые реплицируются данные. Реплики обеспечивают защиту от потери данных, создавая копии данных ведра на нескольких серверах. По умолчанию кол-во реплик равно одному, даже если в кластере только один сервер. Минимальное количество реплик - ноль, максимальное - три. Эта опция действительна только для ведер Couchbase и Ephemeral. |
priority | low | Указывает приоритет фоновых задач этого ведра. Эта опция действительна только для ведер Couchbase и Ephemeral. Для ведер Couchbase фоновые типы задач включают ввод-вывод на диск, обработку потока DCP и выборку элементов. Для ведер Ephemeral фоновые типы задач те же, что и для ведер Couchbase, за исключением ввода-вывода на диск, который не применим к ведрам Ephemeral. Значение этой опции может быть "high" или "low". По умолчанию используется "low". Указание "high" может привести к более быстрому выполнению, но только когда определено более одного ведра для кластера и установлены разные настройки приоритета между ведрами. Когда ведра Couchbase и Ephemeral имеют разные настройки приоритета, это влияет только на приоритезацию типов задач, отличных от ввода-вывода на диск. |
eviction_policy | valueOnly | Политика высвобождения памяти для этого ведра. Эта опция действительна только для ведер Couchbase и Ephemeral. Ведра Couchbase поддерживают "valueOnly" или "fullEviction". Указание политики "valueOnly" означает, что каждый ключ, хранящийся в этом ведре, должен оставаться в памяти. Это политика по умолчанию: использование этой политики увеличивает производительность операций с ключами и значениями, но ограничивает максимальный размер ведра. Указание политики "fullEviction" означает, что производительность операций с ключами и значениями будет затронута, но максимальный размер ведра не будет ограничен. Ведра Ephemeral поддерживают либо "noEviction", либо "nruEviction". Указание "noEviction" означает, что ведро не будет вытеснять элементы из кэша, если кэш заполнен: эту политику высвобождения следует использовать для случаев использования в памяти. Указание "nruEviction" означает, что элементы, которые не использовались недавно, будут вытеснены из памяти, когда вся память в ведре будет использована: эту политику высвобождения следует использовать для случаев использования кэширования. |
conflict_resolution | sequence | Указывает механизм разрешения конфликтов этого ведра, который будет использоваться, если конфликт произойдет при репликации данных между центрами (XDCR). Поддерживаются механизмы на основе последовательности и временной метки. Конфликт на основе последовательности выбирает документ, который был обновлен наибольшее количество раз с последней синхронизации: например, если один кластер обновил документ дважды с последней синхронизации, а другой кластер обновил документ трижды, выбирается документ, обновленный трижды; независимо от того, в какое конкретное время произошли обновления. Конфликт на основе временной метки выбирает документ с самой последней временной меткой: это поддерживается только тогда, когда все часы на всех узлах кластера были полностью синхронизированы. |
flush | false | Указывает, разрешена ли операция сброса для этого ведра. |
durability_min_level | none | Минимальный уровень долговечности для ведра. Допустимые значения для ведер "ephemeral": "none" или "majority". Допустимые значения для ведер "couchbase": "none", "majority", "majorityAndPersistActive" или "persistToMajority". "none" указывает, что мутации в ведре асинхронны и не предлагают никаких гарантии долговечности. "majority" указывает, что мутации должны быть реплицированы (т.е. удержаны в памяти, выделенной для ведра) на большинство узлов службы данных. "majorityAndPersistActive" указывает, что мутации должны быть реплицированы на большинство узлов службы данных. Кроме того, они должны быть записаны на диск на узле, который хостит активный vBucket для данных. "persistToMajority" указывает, что мутации должны быть сохранены на большинстве узлов службы данных. Это значит, что они будут записаны на диск на этих узлах. |
compression_mode | passive | Указывает режим компрессии ведра. Есть три варианта; выключен, пассивный и активный. Все три режима обратно совместимы со старыми SDK, где Couchbase Server автоматически распакует документы для клиентов, которые не понимают используемой компрессии. Эта опция доступна только для ведер Couchbase и Ephemeral в Couchbase Enterprise Edition. Выключен: Couchbase Server будет только сжимать значения документов при сохранении на диске. Это подходит для случаев использования, где компрессия может негативно повлиять на производительность. Обратите внимание, что ожидается, что компрессия в большинстве случаев использования улучшит производительность. Пассивный: Документы, которые были сжаты клиентом или считаны в сжатом виде из диска, будут храниться в сжатом виде в памяти. Couchbase Server не предпримет никаких дополнительных попыток сжать документы, которые еще не сжаты. Активный: Couchbase Server будет активно и агрессивно пытаться сжимать документы, даже если они не были получены в сжатом формате. Это обеспечивает преимущества компрессии, даже когда клиенты SDK не участвуют. |
max_ttl | 0 | Указывает максимальный TTL (время жизни) для всех документов в ведре в секундах. Если включен и документ изменяется без TTL или с TTL больше максимума, его TTL будет установлен в максимальное значение. Установка этого параметра в 0 отключает использование max-TTL, и наибольший разрешенный TTL составляет 2147483647. Эта опция доступна только для ведер Couchbase и Ephemeral в Couchbase Enterprise Edition. |
enable_index_replica | false | Включает репликацию индексированных представлений для текущего ведра. Эта опция действительна только для ведер Couchbase. |
Пример
couchbase_buckets:
- name: baseball
type: couchbase
ram_size: 400
replicas: 1
compression_mode: active
- name: ecommerce
type: couchbase
ram_size: 700
replicas: 1
compression_mode: active
- name: movies
type: couchbase
ram_size: 450
replicas: 1
compression_mode: active
couchbase_sample_buckets[]
Переменная couchbase_sample_buckets
является пустым списком по умолчанию. Поддерживаются только следующие значения: "travel-sample", "beer-sample" или "gamesim-sample".
Пример
couchbase_sample_buckets:
- travel-sample
couchbase_xdcr_remotes[]
Переменная couchbase_xdcr_remotes
является пустым списком по умолчанию. При указании для каждого элемента списка доступны следующие свойства; все 4 свойства являются обязательными при указании удаленного XDCR. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
*name | null | Имя для ссылки на удаленный кластер. |
*hostname | null | Имя удаленного кластера. |
*username | null | Имя пользователя для удаленного кластера. |
*password | null | Пароль для удаленного кластера. |
Пример
couchbase_xdcr_remotes:
- name: My Cluster
hostname: remotehost.couchbase.example.com
username: Administrator
password: password
couchbase_xdcr_replications[]
Переменная couchbase_xdcr_replications
является пустым списком по умолчанию. При указании для каждого элемента списка доступны следующие свойства; свойства from_bucket
, to_bucket
и cluster_name
обязательны, остальные свойства необязательны и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
*from_bucket | null | Имя ведра, из которого нужно реплицировать данные. |
*to_bucket | null | Имя ведра, в которое нужно реплицировать данные. |
*cluster_name | null | Имя ссылки на кластер, в который нужно реплицировать. |
filter_expression | null | Регулярное выражение, используемое для фильтрации потока репликации. |
checkpoint_interval | 600 | Интервал между контрольными точками в секундах. Значение этого параметра должно быть от 60 до 14 400. |
worker_batch_size | 500 | Размер пакета рабочего потока. Значение этого параметра должно быть от 500 до 10 000. |
doc_batch_size | 2048 | Размер пакета документов в килобайтах. Значение этого параметра должно быть от 10 до 100 000. |
failure_restart_interval | 10 | Интервал перезагрузки неудавшихся соединений XDCR в секундах. Значение этого параметра должно быть от 1 до 300. |
optimistic_replication_threshold | 256 | Порог размера тела документа в байтах, используемый для инициирования оптимистичной репликации. |
source_nozzle_per_node | 2 | Количество исходных сопел к каждому узлу в целевом кластере. Значение этого параметра должно быть от 1 до 10. |
target_nozzle_per_node | 2 | Количество исходящих сопел к каждому узлу в целевом кластере. Значение этого параметра должно быть от 1 до 10. |
bandwidth_usage_limit | 0 | Ограничение по полосе пропускания для репликации XDCR в мегабайтах в секунду для этой репликации. |
enable_compression | true | Указывает, включена ли компрессия XDCR или нет. Эта функция доступна только в Couchbase Enterprise Edition и может использоваться только там, где целевой кластер поддерживает компрессию. |
log_level | Info | Уровень журнала XDCR. Поддерживаются следующие значения: "Error", "Info", "Debug", "Trace" |
stats_interval | 1000 | Интервал обновления статистики в миллисекундах. |
priority | High | Указывает приоритет для репликации. Доступные варианты: "High", "Medium" или "Low". |
reset_expiry | false | Если установлен в true, все мутации, отправляемые в целевой кластер, будут иметь установленный срок действия, равный нулю. Это означает, что документы не будут истекать в целевом кластере. Это может быть отменено, установив max-ttl для целевого ведра. |
filter_deletion | false | Если установлен в true, мутации удаления не будут отправляться в целевой кластер. Это означает, что документы не будут удалены в целевом кластере через операции удаления в исходном кластере. |
filter_expiration | false | Если установлен в true, мутации истечения времени не будут отправляться в целевой кластер. Это означает, что документы не будут удалены в целевом класте через истечения времени в исходном кластере. |
Пример
couchbase_xdcr_replications:
- from_bucket: beer
to_bucket: demo
cluster_name: My Cluster
couchbase_ldap
Все свойства в переменной couchbase_ldap
являются необязательными и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
hosts | [] | Список хостов LDAP. Если он пуст, LDAP не настроен. |
port | 389 | Порт LDAP. |
encryption | none | Безопасность, используемая для соединения с серверами LDAP. Поддерживаемые параметры: tls, startTLS, none. |
cacert | cacert | Путь к сертификату CA, который будет использоваться для проверки сертификата сервера, требуется, если проверка сертификата не отключена. |
server_cert_validation | false | Включить или отключить проверку сертификата при подключении к серверу LDAP. |
bind_dn | null | DN пользователя для аутентификации в системе, для разрешения поиска пользователя и синхронизации групп. Если данные привязки или сертификат клиента TLS не указаны, используется анонимная привязка. |
bind_password | null | Пароль привязанного пользователя. |
client_cert | null | Сертификат клиента TLS, который будет использоваться для привязки к LDAP-серверу для разрешения синхронизации пользователей и групп. Если данные привязки или сертификат клиента TLS не указаны, используется анонимная привязка. '-client-cert' и '-client-key' должны быть заданы вместе. |
client_key | null | Ключ клиента TLS. Используется с флагом '-client-cert' для аутентификации с помощью сертификата. '-client-cert' и '-client-key' должны быть заданы вместе. |
authentication_enabled | false | Включает использование LDAP для аутентификации пользователей. |
user_dn_query | null | Запрос LDAP, чтобы получить DN пользователя. Должен содержать хотя бы один экземпляр %u Пример: ou=Users,dc=example??one?(uid=%u) |
authorization_enabled | false | Включает использование LDAP для предоставления авторизации пользователям. |
group_query | null | Запрос LDAP, чтобы получить группы пользователей по имени пользователя в формате RFC4516. Могут быть использованы占位щики %u и %D для имени пользователя и DN пользователя соответственно. Если атрибут присутствует в запросе, список значений атрибутов в результате поиска считается списком групп пользователя (ожидается, что будет получен единственный результат): например: '%D?memberOf?base'. Если атрибут отсутствует в запросе, каждая возвращенная запись считается группой, например: 'ou=groups,dc=example,dc=com??one?(member=%D)'. |
max_parallel_connections | 100 | Максимальное количество параллельных соединений, которые могут быть установлены с серверами LDAP. |
max_cache_size | 10000 | Максимальное количество запросов, которые могут быть кэшированы, по умолчанию 10000. |
cache_value_lifetime | 300000 | Срок службы значений в кэше в миллисекундах. По умолчанию 300,000 мс. |
enable_nested_groups | false | Если включено, Couchbase server будет пытаться рекурсивно искать группы для каждой найденной группы ldap. |
nested_groups_max_depth | 10 | Максимальное количество рекурсивных запросов групп, которое сервер может выполнить. Эта опция действительно только тогда, когда вложенные группы включены. Глубина - это целое число от 1 до 100, по умолчанию 10. |
request_timeout | 1000 | Таймаут для запросов LDAP в миллисекундах. |
Пример
couchbase_ldap:
hosts:
- ldap.example.com
port: 389
encryption: none
server_cert_validation: false
bind_dn: uid=aaronb,ou=People,dc=example,dc=com
bind_password: password
authentication_enabled: true
user_dn_query: ou=People,dc=example,dc=com??one?(uid=%u)
authorization_enabled: true
group_query: ou=People,dc=example,dc=com?(gidNumber=5000)?one
max_parallel_connections: 100
max_cache_size: 10000
cache_value_lifetime: 300000
enable_nested_groups: true
nested_groups_max_depth: 10
couchbase_user_groups[]
Переменная couchbase_user_groups
является пустым списком по умолчанию. При указании для каждого элемента списка доступны следующие свойства; свойство name
обязательно, остальные свойства необязательны и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
*name | null | Указывает целевую группу для операций с группами. |
description | null | Указывает описание группы. |
ldap_ref | null | Указывает ясное имя (distinguished name) группы LDAP, чтобы связать группу Couchbase с LDAP. |
roles | [] | Указывает роли, которые будут выданы профилю пользователя RBAC. Смотрите раздел ROLE для получения дополнительной информации о доступных ролях в Couchbase. |
Пример
couchbase_user_groups:
- name: Demo
description: test
roles:
- cluster_admin
- replication_admin
- name: Test
description: test
roles:
- cluster_admin
- replication_admin
- name: admins
description: test
roles:
- cluster_admin
- replication_admin
couchbase_users[]
Переменная couchbase_users
является пустым списком по умолчанию. При указании для каждого элемента списка доступны следующие свойства; свойство name
обязательно, остальные свойства необязательны и будут иметь значение по умолчанию, если не указаны. Дополнительная документация
Переменная | По умолчанию | Описание |
---|---|---|
username | null | Указывает имя пользователя для профиля RBAC, который нужно изменить. Этот параметр используется при удалении, создании или обновлении профиля пользователя RBAC. |
password | null | Указывае |
Installs, initializes and configures Couchbase Server clusters
ansible-galaxy install couchbaselabs/ansible-couchbase-server