Настройка кластера Elasticsearch для 1С-Битрикс под ключ

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Настройка кластера Elasticsearch для 1С-Битрикс под ключ
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1330
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    924
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    672
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    815
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    714
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1051

Мы неоднократно сталкивались с проектами, где один узел Elasticsearch становился точкой отказа. При перезапуске сервиса поиск падал, посетители получали ошибки, конверсия просаживалась. На highload-проектах с 500+ одновременными пользователями одна нода не вывозила нагрузку: индексация из 1С шла параллельно с поисковыми запросами, конкурируя за ресурсы. Кластер из трёх нод решает обе проблемы. Мы предлагаем настройку такого кластера под ключ — от проектирования до мониторинга, с гарантией стабильной работы. Наш опыт — более 5 лет в проектах на 1С-Битрикс, более 30 успешных развёртываний.

Почему три ноды — минимум?

Две ноды — риск split-brain: при разрыве сети каждая считает себя мастером, данные расходятся. Три ноды дают кворум: при выходе одной оставшиеся две сохраняют большинство и продолжают работу без потери данных. Это стандартная рекомендация Elasticsearch — Википедия. Кластер из трёх нод надёжнее одиночной в 3 раза по отказоустойчивости и в 2 раза по производительности.

Нода Роль Память Назначение
es-01 master, data 16 GB Мастер + данные
es-02 master, data 16 GB Резервный мастер + данные
es-03 data, ingest 16 GB Данные + предобработка

Для крупных инсталляций (>50 млн документов) выделяют отдельные dedicated master-ноды без роли data — они не участвуют в поиске и индексации, только управляют кластером.

Как настроить шардирование для каталога 1С-Битрикс?

По умолчанию Elasticsearch создаёт 1 primary shard на индекс. Для каталога с 1+ млн документов этого мало. Настраиваем нужное количество шардов и реплик:

PUT /bitrix_catalog
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1,
    "refresh_interval": "5s"
  }
}

number_of_replicas: 1 означает, что каждый шард копируется на вторую ноду. При выходе одной ноды реплики промоутируются в primary автоматически, поиск продолжается без прерывания.

refresh_interval: 5s вместо дефолтной 1s снижает нагрузку на индексацию при массовом обновлении из 1С. Новые документы появятся в поиске с задержкой до 5 секунд — для большинства каталогов приемлемо.

Балансировка запросов от Битрикс

Битрикс подключается к Elasticsearch через один host. Чтобы запросы распределялись по всем нодам, перед кластером ставим балансировщик:

Вариант 1 — nginx upstream:

upstream elasticsearch {
    least_conn;
    server 10.0.0.11:9200;
    server 10.0.0.12:9200;
    server 10.0.0.13:9200;
}

server {
    listen 9201;
    location / {
        proxy_pass http://elasticsearch;
    }
}

Битрикс подключается к localhost:9201. Nginx распределяет запросы методом наименьших соединений.

Вариант 2 — координирующая нода (для нагрузок 1000+ rps): отдельная нода с node.roles: [] принимает все HTTP-запросы, рассылает подзапросы к data-нодам, агрегирует результаты. Не хранит данные, не участвует в выборах мастера.

Как мониторить состояние кластера?

# Статус кластера (green/yellow/red)
curl -s http://10.0.0.11:9200/_cluster/health?pretty

# Распределение шардов по нодам
curl -s http://10.0.0.11:9200/_cat/shards?v

# Нагрузка на ноды
curl -s http://10.0.0.11:9200/_cat/nodes?v&h=name,heap.percent,cpu,load_1m

Статус yellow — часть реплик не размещена (при одной ноде это норма). Статус red — потеряны primary shards, часть данных недоступна, требует немедленного вмешательства. Подробнее о настройке поискового модуля в Битрикс читайте в официальной документации.

Типичные ошибки и как их избежать

На одном проекте с каталогом 2 млн товаров при индексации из 1С каждые 30 секунд поиск отключался на 20 секунд — из-за refresh_interval: 1s. После увеличения до 5s индексация перестала блокировать поиск, а скорость появления новых товаров осталась приемлемой. Также часто забывают настроить indices.memory.index_buffer_size — при массовой загрузке документов может возникнуть OutOfMemoryError. Рекомендуем ставить 10-20% от памяти ноды.

Параметр Значение Описание
refresh_interval 5-10s Снижает нагрузку при массовой индексации
number_of_shards 3-5 Распределение данных по нодам
number_of_replicas 1-2 Отказоустойчивость

Процесс нашей работы

  1. Аудит текущей инфраструктуры — оцениваем нагрузку, количество документов, текущую конфигурацию.
  2. Проектирование кластера — выбираем количество нод, распределение ролей, настройки безопасности.
  3. Развёртывание и настройка — установка Elasticsearch, конфигурация elasticsearch.yml, генерация сертификатов.
  4. Интеграция с Битрикс — настройка модуля поиска, привязка к кластеру через балансировщик.
  5. Тестирование и мониторинг — проверка отказоустойчивости, настройка оповещений.
  6. Документация и обучение — передача схемы, инструкций, обучение команды.

Что входит в работу

  • Настройка кластера из 3 нод (или другой конфигурации)
  • Конфигурация безопасности (xpack, SSL)
  • Установка и настройка балансировщика (nginx или координирующая нода)
  • Настройка шардирования под размер каталога
  • Мониторинг и алертинг
  • Документация и передача знаний

Сроки

Развёртывание трёхнодового кластера с настройкой безопасности, балансировщика и мониторинга — 2–4 дня в зависимости от наличия готовой инфраструктуры. Оценим ваш проект бесплатно — напишите нам.

Хотите получить стабильный поиск без сбоев? Свяжитесь с нами для консультации — наш инженер проанализирует вашу нагрузку и предложит оптимальную конфигурацию кластера. Закажите настройку кластера Elasticsearch для 1С-Битрикс — получите отказоустойчивый поиск с гарантией.