• Post category:Настройки
  • Запись изменена:12.08.2025

0. Схема

Схема выноса сервиса Search для РЕДОС

0.1. Описание

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

Также возможно увеличить количество сервисов Search, что даёт нам отказоустойчивость в виде нескольких серверов одного сервиса, работающих параллельно.

1. Выполните установку Корпоративного портала 2024

Примечание. При включенной службе firewalld необходимо выполнить настройку для http и https.

# Добавляем службы:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
 
# Перезапускаем службу firewalld:
sudo firewall-cmd --reload
 
# Проверяем правила для зоны public:
sudo firewall-cmd --zone=public --list-all

Установить согласно инструкции.

1.1. Выполните архивацию необходимых файлов и директорий

tar czvf search.tar.gz --selinux /opt/r7-office/SearchApi /var/log/r7-office/CDDisk/SearchApi /var/log/r7-office/CDDisk/Bsa.Search.Api.Host /etc/supervisor /var/r7-office/searchindex

1.1.1. Перенесите удобным вам способом на ВМ с ролью Поиск

Например, через scp:

scp processing.tar.gz ipВМпоиска:/root/

1.2. Узнайте uid и gid пользователя cddisk

id cddisk

Вывод:

id cddisk
uid=982(cddisk) gid=982(cddisk) группы=982(cddisk)

1.3. Удалите конфигурационный файл

rm /etc/supervisord.d/cddisk-searchapi.ini

1.3.1. Отредактируйте файл

vi /etc/supervisord.d/cddisk.ini

Приведите к виду:

[group:cddisk]
programs=api,filestorage,processing,registry,apisso

1.4. Отредактируйте файл сервиса Registry

vi /opt/r7-office/Service.Registry/appsettings.json

Приведите параметры к виду:

...
    },
    {
      "id": "ISearchService",
      "host": "http://192.168.27.77:2664"
    }
  ],
  "ServiceRegistry": {
    "Host": "http://+:7777"
  }

Где:

  • 192.168.27.77 — IP ВМ, где находится сервис Поиска.

Если серверов с сервисом поиска несколько, то вид будет следующим:

...
    },
	{
      "id": "ISearchService",
      "host": "http://192.168.27.77:2664"
    }, 
	{
      "id": "ISearchService",
      "host": "http://192.168.27.78:2664"
    }
  ],
  "ServiceRegistry": {
    "Host": "http://+:7777"
  }

Где:

  • 192.168.27.77, 192.168.27.78 — IP-адрес ВМ, где находится сервис Поиска.

1.4.1. Перезапустите сервис

systemctl restart supervisord
supervisorctl restart all

2. На ВМ с ролью Search

Примечание. При включенной службе firewalld необходимо выполнить настройку для 2664/tcp.

# Добавляем порт
sudo firewall-cmd --permanent --zone=public --add-port=2664/tcp
 
# Перезапускаем службу firewalld
sudo firewall-cmd --reload
 
# Проверяем правила для зоны public
sudo firewall-cmd --zone=public --list-all

2.1. Установите пакеты

Для версии 14752 и выше выполните установку следующих пакетов:

sudo dnf install dotnet-sdk-6.0 postgresql-odbc supervisor

Для версий ниже:

sudo dnf install dotnet-sdk-3.1 postgresql-odbc supervisor

2.2. Создание группы и пользователя cddisk

Из п.1.2 вы узнали uid и gid пользователя.

Создайте его с помощью следующих команд:

2.2.1. Создайте группу cddisk

groupadd -g 982 cddisk

Где:

  • 982id группы;
  • cddisk — имя группы.

2.2.2. Создайте пользователя cddisk

useradd -u 982 -g 982 cddisk

Где:

  • 982 — id пользователя;
  • 982 — id группы;
  • cddisk — имя пользователя.

2.3. Распакуйте архив search.tar.gz

tar xzvf search.tar.gz --selinux -C /

2.3.1. Удалите лишние конфигурационные файлы /etc/supervisord.d

rm -f /etc/supervisord.d/{cddisk-api,cddisk-filestorage,cddisk-registry,cddisk-ssoapi,cddisk-processing}.ini

2.3.2. Отредактируйте конфигурационный файл cddisk.ini

vi /etc/supervisord.d/cddisk.ini
2.3.2.1. Приведите к виду
[group:cddisk]
programs=searchapi

2.3.3. Отредактируйте конфигурационный файл

vi /opt/r7-office/SearchApi/appsettings.json
2.3.3.1. Приведите к виду
...
  "Bsa.Search.Api": {
    "Host": "http://+:2664"
  }
...

2.4. Перезапустите сервис

systemctl restart supervisord
supervisorctl restart cddisk:searchapi

3. Проверьте работу Поиска

Была ли полезна статья?
Позвольте нам стать лучше