Где развернуть Greenplum: программно-аппаратное окружение серверов и достоинства Arenadata DB для администратора кластера

Автор Категория ,
Где развернуть Greenplum: программно-аппаратное окружение серверов и достоинства Arenadata DB для администратора кластера

Сегодня рассмотрим пару важных тем для администратора Greenplum: требования к программно-аппаратному окружению, а также особенности установки и настройки этой MPP-СУБД. Еще разберем, как Arenadata Cluster Manager облегчает и автоматизирует эти процессы в Arenadata DB.

Программное окружение Greenplum: операционные системы и Java

Greenplum 6 работает на следующих платформах операционных систем:

  • Red Hat Enterprise Linux 64-разрядная версияx и 6.x;
  • CentOS 64-разрядная версия 7.x и 6.x;
  • Ubuntu04 LTS;
  • Oracle Linux 64-разрядная версия 7 с использованием Red Hat Compatible Kernel (RHCK).

Ранее при включении управления рабочей нагрузкой на основе группы ресурсов в RedHat 6.x и CentOS 6.x наблюдалось значительное снижение производительности Greenplum из-за ошибки ядра cgroup Linux. Это исправлено ​​в CentOS 7.x и Red Hat 7.x. Для Greenplum на Red Hat Enterprise Linux или CentOS до версии 7.3, проблема с операционной системой может привести к зависанию СУБД, где выполняются большие рабочие нагрузки из-за багов ядра Linux. В RHEL 7.3 и CentOS 7.3 такая проблема отсутствует.

Вендор не рекомендует устанавливать антивирусное программное обеспечение на хосты Greenplum, поскольку эта дополнительная нагрузка на ЦП и ввод-вывод может помешать работе СУБД. Сервер базы данных Greenplum поддерживает криптографический протокол защиты транспортного уровня TLS версии 1.2 в системах RHEL/CentOS и TLS версии 1.3 в системах Ubuntu.  Другой криптографический протокол, SSL поддерживается только в главной хост-системе Greenplum и не должен использоваться в хост-системах сегмента.

Для всех хост-систем базы данных Greenplum, если SELinux включен в принудительном режиме, процесс Greenplum и пользователи могут успешно работать в неограниченном контексте по умолчанию. Напомним, SELinux (Security-Enhanced Linux) – это операционная система Linux с улучшенной безопасностью с принудительным контролем доступа, который может работать параллельно с классической избирательной системой контроля доступа.

Если требуется повышенное ограничение, следует настроить контексты, политики и домены SELinux в соответствии с требованиями безопасности и протестировать конфигурацию, чтобы убедиться, что она не влияет на функциональность или производительность Greenplum. Аналогично следует отключить или настроить ПО брандмауэра, чтобы разрешить связь между хостами Greenplum. Это может сделать пользователь root, отредактировав конфигурационный файл /etc/selinux/config.

Если в системе установлен демон System Security Services Daemon (SSSD), следует отредактировать файл конфигурации SSSD /etc/sssd/sssd.conf и установить для параметра selinux_provider значение none, чтобы предотвратить отказы в проверке подлинности SSH, связанные с SELinux, которые могут возникнуть даже при отключенном SELinux.

Для Greenplum 6 требуется целый набор программных пакетов в системах RHEL/CentOS 6/7, которые автоматически устанавливаются как зависимости при установке пакета RPM Greenplum. Аналогично в системах Ubuntu нужные зависимости устанавливаются с помощью установщика пакетов Debian. Greenplum 6 использует Python 2.7.12, который включен в установку продукта и не устанавливается как зависимость пакета.

Greenplum 6 поддерживает следующие версии Java для PL/Java и PXF:

  • Open JDK 8 или Open JDK 11, доступные на сайте AdoptOpenJDK;
  • Oracle JDK 8 или Oracle JDK 11.

Преимущества Arenadata DB для администратора кластера

«Аренадата Софтвер», российская компания-разработчик решений для хранения и аналитики больших данных адаптирует open-source технологии к enterprise-специфике. В частности, Greenplum в интерпретации этого вендора называется Arenadata DB (ADB) и имеет ряд преимуществ по сравнению с исходным продуктом. В отношении установки и настройки здесь стоит отметить упрощение и автоматизацию этих процессов с помощью Arenadata Cluster Manager (ADCM), который можно рассматривать как универсальный оркестратор гибридного ИТ-ландшафта. Он имеет наглядный GUI и позволяет автоматизировать установку, настройку и обновление кластеров, настройки операционной системы, сервисов, сети и монтирование жестких дисков. Это сильно экономит время и силы администратора, с учетом того, что в кластере Greenplum может быть до 200 серверов, на каждом из которых следует создать пользователей, настроить ключи авторизации по SSH, настроить параметры операционной системы, установить зависимости, загрузив соответствующие пакеты, и задать параметры СУБД.

В ADCM все ручные операции по установке заменены загрузкой бандлов через веб-интерфейс – готовых сборок с предустановленными параметрами в виде автоматизированных сценариев на базе ansible-скриптов. Примечательно, что ADCM работает не только с Arenadata DB, но и с другими продуктами этой компании: российским дистрибутивом Apache Hadoop, решением для потоковой     обработки данных на базе Apache Kafka и NiFi, адаптацией ClickHouse в виде Arenadata QuickMarts.  ADCM помогает автоматизировать развертывание этих продуктов в локальных кластерах и облачных платформах. Установка ADCM состоит из нескольких шагов:

  1. Развертывание сервера с совместимой операционной системой;
  2. Подключение к серверу по SSH;
  3. Установка на сервере Docker-контейнера с ADCM;
  4. Запуск контейнер и подключение к ADCM через веб-GUI.

После этого ADCM готов к установке кластера ADB, которая тоже сводится к набору действий:

  1. загрузка нужных бандлов;
  2. создание хостов кластера ADB;
  3. создание экземпляра кластера ADB;
  4. установка экземпляра кластера ADB.

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

Аппаратное обеспечение

Клиент-серверная архитектура Greenplum предполагает наличие определенного программно-аппаратного окружения как на сервере, так и на клиентах. В этой статье мы уделяем внимание серверной части. Относительно аппаратного обеспечения разработчик Greenplum рекомендуют минимальные характеристики аппаратных серверов в системах Linux. Все хост-серверы Greenplum должны иметь одинаковую аппаратную и программную конфигурацию.

В части аппаратного обеспечения требования к CPU невысоки: подойдет практически любой процессор, совместимый с 64-разрядной версией x86. Минимальная объем оперативной памяти на сервере должен быть хотя бы 16 ГБ. Экземпляры PostreSQL, объединенные в массивно-параллельную архитектуру Greenplum, взаимодействуют друг с другом через быстрые внутренние соединения, называемые интерконнектами, о чем мы писали здесь. Для этого нужна оперативная 10-гигабитная сеть Ethernet. Объединение сетевых карт рекомендуется при наличии нескольких интерфейсов. Greenplum может использовать протоколы IPV4 или IPV6.

Greenplum требует минимум 150 МБ дискового пространства на хост для установки и около 300 МБ на экземпляр сегмента для метаданных. Емкость диска ограничивается 70% для размещения временных файлов и предотвращения снижения производительности.

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

Многие функции общего хранилища, такие как дедупликация и/или репликация, напрямую не поддерживаются Greenplum, но могут использоваться при поддержке провайдера хранилища. В части облачных решений Greenplum поддерживается на серверах AWS, использующих хранилище экземпляров Amazon или хранилище Elastic Block Store (EBS). В случае EBS хранилище должно быть на RAID-томах и смонтировано с файловой системой XFS.

Освойте администрирование и эксплуатацию Greenplum с Arenadata DB для эффективного хранения и аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. https://gpdb.docs.pivotal.io/6-19/install_guide/platform-requirements.html
  2. https://arenadata.tech/about/blog/arenadata-db-installation/