Войти

Какие действия необходимо выполнить перед установкой витрины данных Лайт

Рекомендуемые технические и программные средства


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

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


  Рекомендуем выполнить следующее:
  • продумайте сценарии работы с витриной, необходимые для достижения ваших целей;
  • установите витрину на тестовом стенде с рекомендуемыми техническими характеристиками;
  • создайте структуру витрины (подробнее в статье Как загрузить схемы и данные в витрину данных Лайт через CSV);
  • подготовьте тестовые данные для загрузки и определите количество загружаемых данных;
  • в процессе загрузки данных проведите измерение ключевых параметров нагрузки серверного оборудования;
  • линейно экстраполируйте эти данные на целевую витрину, получив таким образом загруженность целевого оборудования витрины;
  • выберете оборудование, которое будет соответствовать нагрузке для ваших задач.

Ниже приведены рекомендуемые параметры тестового стенда.

Требования к серверному оборудованию:

Требования

Минимальные

Рекомендуемые

Процессор (CPU)

4 ядра

10 ядер

Оперативная память (RAM)

16 Гб

128 Гб

Жесткий диск (HDD)

100 Гб

500 Гб


Минимальный состав системного ПО:

Название

Версия

Описание

Одна из следующих ОС:

- CentOS 7.9 (далее - CentOS);

- РЕД ОС версии 7.2 (далее - РЕД ОС);

- Альт Сервер 8 СП (далее - АЛЬТ ОС)

- CentOS - 7.9

- РЕД ОС версии 7.2;

- Альт Сервер 8 СП

Совместимые операционные системы

Docker

20.10.2

Программное обеспечение для автоматизации развёртывания и управления приложениями

Требования к каналам связи

К каналам связи сервера, на котором будет установлена витрина, предъявляются следующие требования:

  • пропускная способность 100 Мбит/сек с протоколами TCP/IP и UDP;
  • отсутствие ПО, блокирующего или замедляющего трафик.

К каналам связи, используемым для взаимодействия с клиентскими сетями Ведомства, предъявляются следующие требования - пропускная способность 10 Гбит/сек с протоколами TCP/IP и UDP.

Необходимо учитывать процент свободных ресурсов оборудования и пиковые нагрузки.
 

Предварительные действия


Установка витрины производится в закрытом контуре (без необходимости доступа к сети Интернет).

1. Установка операционной системы 

Необходимо установить выбранную Операционную систему из списка совместимых с витриной и обновить локальную базу пакетов выбранной ОС.

2. Создание пользователя

Для установки витрины рекомендуется создать отдельного пользователя и установить для него пароль, для этого выполните команды:

sudo useradd datamart
sudo password for user:
sudo passwd datamart
sudo password for user:
Changing password for user datamart.
New password:
Retype new password:
passwd: all authentication tokens updated successfully


3. Отключение пароля

Чтобы отключить пароль sudo для пользователя datamart, надо добавить в настройки (пользователя или группы) директиву NOPASSWD. Для этого последовательно выполните команду:

sudo visudo

В открывшемся конфигурационном файле, с помощью команд редактора vi

Для CentOS и РЕД ОС отредактируйте следующие записи:

 datamart ALL=(ALL) NOPASSWD: ALL

Для Альт ОС отредактируйте следующие записи:
 # uncomment line

WHEEL_USERS ALL=(ALL) NOPASSWD: ALL

Сохраните изменения и закройте файл.


4. Добавление пользователя в группу администраторов

Чтобы добавить пользователя в группу администраторов, у которых есть права выполнения команды sudo, выполните следующую команду:


sudo usermod -aG wheel datamart

Для проверки вы можете переключиться в учетную запись datamart и вывести список содержимого директории /root, которое обычно доступно только для пользователя root user:
su datamart

Password:
sudo ls -la /root


5. Отключение межсетевого экрана

Для корректной установки потребуется отключить службу FirewallD операционной системы CentOS.

Что просмотреть текущий статус работы приложения используйте команду firewall-cmd:

sudo firewall-cmd --state

В случае, если служба FirewallD запущена, команда выше выведет следующее сообщение:

 running

Вы можете временно остановить службу FirewallD для этого выполните следующую команду:

 sudo systemctl stop firewalld

Следует учитывать, что данная команда только временно отключит службу, при последующей перезагрузке служба FirewallD снова будет запущена. Чтобы полностью отключить службу выполните команды, описанные ниже.
Остановите службу:
 sudo systemctl stop firewalld

Отключите автоматический запуск службы FirewallD при загрузке операционной системы:
sudo systemctl disable firewalld

После отключения проверьте, что статус службы изменился на not running, для этого выполните команду:
sudo firewall-cmd --state

not running


Для Альт ОС – по умолчанию выключен. Никаких действий не требуется.
 
6. Отключение SELinux

Только для CentOS и RedOS!

Для корректной установки необходимо отключить SELinux, для этого выполните следующие действия: 
  • Проверьте параметры запуска SELinux при загрузке системы. Для этого выполните следующую команду:
cat /etc/selinux/config
  • Если параметр SELINUX имеет значение enforcing, отключите запуск SELinux при загрузке системы. Для этого следует в файле /etc/selinux/config указать значение SELINUX=disabled и перезагрузите сервер. SELinux будет отключен.
Открыть и отредактировать файл /etc/selinux/config можно с помощью редактора vi, для этого выполните команду:
sudo vi /etc/selinux/config
  • Проверьте, что служба отключена. Для этого выполните команду:
 sestatus

В ответ вы должны получить:

SELinux status: disabled


7. Выбор часового пояса

  • Для CentOS и RedOS

Проверьте, что установлен нужный часовой пояс. В нашем случае на команду timedatectlдолжна выводиться строка Time zone: Europe/Moscow (MSK, +0300).

Пример команды:
timedatectl

Пример ответа:

Local time: Mon 2021-12-20 12:06:39 MSK
Universal time: Mon 2021-12-20 09:06:39 UTC
RTC time: Mon 2021-12-20 09:06:49
Time zone: Europe/Moscow (MSK, +0300)
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
DST active: n/a

Если результат отличается, укажите соответствующий местоположению сервера часовой пояс.

Пример команды для выбора московского часового пояса:

 
sudo timedatectl set-timezone Europe/Moscow
    
  • Для Альт ОС

Пример команды для выбора московского часового пояса:


sudo apt-get install tzdata

sudo timedatectl set-timezone Europe/Moscow


8. Подключение к серверу через SSH-клиент PuTTY

Настройку ssh-подключения к серверу можно выполнить, используя клиент удалённого доступа - PuTTY.

9. Создание SSH-ключей

Действия этого раздела необходимо выполнять под созданной учетной записью datamart. Для переключения на учетную запись datamart выполните команду:

sudo su - datamart

Для подключения Ansible к серверу по протоколу SSH необходимо создать ssh-ключи.

Для аутентификации пользователя на сервере используются два ключа: приватный и публичный.

Чтобы сгенерировать SSH-ключи для операционной системы Linux, выполните следующие действия:

  • Откройте терминал на вашем компьютере и выполните команду:
ssh-keygen -t rsa

Следует оставить все значения по умолчанию.


Если команда ssh-keygen не найдена, установите пакет openssh.
  • После выполнения команды вам будет предложено указать имена файлов, в которые будут сохранены ключи и ввести пароль для закрытого ключа. По умолчанию используется имя id_rsa, ключи будут созданы в директории ~/.ssh.

Публичная часть ключа будет сохранена в файле с названием <имя_ключа>.pub.

Будет выведено следующее сообщение:
Generating public/private rsa key pair.

Enter file in which to save the key (/home/datamart/.ssh/id_rsa).

 
  • Нажмите клавишу Enter. После этого ключ будет сохранен в указанную директорию по умолчанию. Далее вам будет предложено ввести кодовое слово для дополнительной защиты ключа. Вы можете пропустить данный шаг и нажать Enter.

На запрос указать кодовое слово, не вводя его нажмите клавишу Enter.

Процедура создания ключей завершена, ключи сохранены в директории ~/.ssh/ `` в файлах ``id_rsa и id_rsa.pub.

10. Копирование ssh-ключей на сервер

Действия этого раздела необходимо выполнять под созданной учетной записью datamart. Для переключения на учетную запись datamart выполните команду:

sudo su - datamart

Для копирования ssh-ключей в список разрешенных ключей выполните команды:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys


11. Копирование архива дистрибутива Типового ПО витрины данных
   
Для загрузки на сервер файла с архивом дистрибутива Типового ПО витрины данных используйте SFTP-клиент (например, WinSCP или Filezilla). Для авторизации используйте логин и пароль учетной записи администратора (datamart) созданной при установке ОС. Загрузите файл с архивом дистрибутива в домашнюю директорию администратора ( ~/ ).
  • Подключитесь по SSH к серверу, используя логин и пароль учетной записи администратора.
  • Переместите файл с архивом дистрибутива в домашнюю директорию пользователя datamart командой:

mv ~/dtm-lite-1.6.0.tgz /home/datamart/

где

-   dtm-lite-1.6.0.tgz - название архива дистрибутива;

-   datamart - имя пользователя.

Обратите внимание, что название и версия файла с архивом может отличаться в зависимости от версии дистрибутива Типового ПО витрины данных.

12. Распаковка архива дистрибутива Типового ПО витрины данных

Действия этого раздела необходимо выполнять под созданной учетной записью datamart. Для переключения на учетную запись datamart выполните команду:

sudo su - datamart

Чтобы распаковать архив дистрибутива, выполните команду:
tar -xzvf dtm-lite-1.6.0.tgz

Обратите внимание, что название и версия файла с архивом может отличаться в зависимости от версии дистрибутива Типового ПО витрины данных.
 
13. Установка Docker
 
  • Установка Docker в CentOS

Действия этого раздела необходимо выполнять под созданной учетной записью datamart. Для переключения на учетную запись datamart выполните команду:

sudo su - datamart

Полную инструкцию по установке Docker можно просмотреть на официальном сайте разработчиков: https://docs.docker.com/engine/install/centos/.
Приведем описание основных шагов инструкции.

Проверяем, установлен ли Docker командой:

 sudo systemctl status docker

Если ответ содержит сообщение "Unit docker.service could not be found", значит Docker не найден и нужно его установить. Для установки Docker без использования доступа к интернет выполните команду:
sudo yum install rpms/docker/CentOS/7.9/*.rpm

Добавляем Docker в автозагрузку:

sudo systemctl enable docker 


Запускаем Docker:
sudo systemctl start docker


Проверяем работоспособность Docker командой:
sudo systemctl status docker 

  • Установка Docker в RedOS

Действия этого раздела необходимо выполнять под созданной учетной записью datamart. Для переключения на учетную запись datamart выполните команду:

sudo su - datamart


Для установки Docker без использования доступа к интернет выполните команду: 
sudo yum install rpms/docker/RedOS/7.2/*.rpm

Добавляем Docker в автозагрузку:

sudo systemctl enable docker 


Запускаем Docker:
sudo systemctl start docker

  • Установка Docker в Альт ОС 

Действия этого раздела необходимо выполнять под созданной учетной записью datamart. Для переключения на учетную запись datamart выполните команду:
sudo su - datamart 


Установить docker можно следующей командой:
sudo apt-get install docker-ce 


Удалить сервис containerd:
sudo rm -f /lib/systemd/system/containerd.service


Затем необходимо запустить соответствующую службу:
sudo systemctl unmask docker
sudo systemctl start docker

14. Установка библиотеки python-docker-py
  • Для CentOS и РЕД ОС
Для установки библиотек python-docker-py без доступа к интернет, выполните следующую команду:
 sudo yum install rpms/python/CentOS/7.9/*.rpm
  • Для Альт ОС
В некоторых версиях «АЛЬТ Сервер 8 СП» (например, АЛЬТ Сервер 8.4 СП) в лицензионный диск с операционной системой не входят пакеты python3-module-docker и python3-websocket-client, поэтому они будут установлены из сертифицированного репозитория компании-разработчика операционной системы, для этого необходим доступ в Интернет! Для установки выполните следующую команду:
sudo apt-get install python3-module-docker

15. Настройка логирования в Docker

  • Для CentOS и РЕД ОС
Настройка логирования в Docker осуществляется с помощью файла конфигурации. Путь к файлу конфигурации — /etc/docker/daemon.json. Если этого файла не существует, его необходимо создать. Добавьте в файл следующие настройки логирования:
 {

  "log-opts": {
    "max-file": "1",
    "max-size": "300m"
  }
}


где

-      max-file - ограничение по количеству файлов (настройки ротации). Максимальное количество файлов журнала, которые могут быть созданы. Если при просмотре журналов создаются лишние файлы, самый старый файл удаляется. Действует только тогда, когда max-size (см. ниже) также установлен. Положительное целое число. По умолчанию 1.

-      max-size - устанавливает ограничение по размеру лог-файла (k, m или g). По умолчанию - 1 (неограниченно).
 
  • Для Альт ОС

Выполните команду:


sudo sed -i 's/journald/json-file/' /etc/docker/daemon.json

16. Перезапуск Docker

 
Для применения настроек, выполненных на предыдущем шаге, необходимо перезапустите Docker
  • Для CentOS и РЕД ОС
Выполните команду:
sudo systemctl restart docker
  • Для Альт ОС

Выполните команду:


sudo systemctl restart docker

17. Добавление пользователя в группу docker

Далее, нужно добавить пользователя datamart в группу docker. Для этого подключитесь к серверу по ssh (например, через Putty) и выполните команду:

sudo usermod -aG docker datamart

Внимание! Для применения настроек изменения группы выполните повторную авторизацию под пользователем datamart.
     
18. Настройка Ansible

Действия этого раздела необходимо выполнять под созданной учетной записью datamart. Для переключения на учетную запись datamart выполните команду:
sudo su - datamart

Для загрузки docker-образа выполните команду:

docker image load -i images/ansible-2.9-centos-7.tar

Чтобы создать alias для вызова Ansible выполните команду:

echo "alias docker-ansible-cmd='docker run --rm -it -v $(pwd)/ansible:/ansible -v ~/.ssh/id_rsa:/root/.ssh/id_rsa --workdir=/ansible cr.yandex/crpl8ogf99r0eaq13vkd/ansible:2.9-centos-7 '" >> .bashrc
. .bashrc

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


source .bashrc

Чтобы проверить установку Ansible в контейнере, выполните команду Ansible, позволяющую вывести номер версии:

docker-ansible-cmd ansible --version

Авторизуйтесь, чтобы оставить комментарий к статье