Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

Настройка тестового кластера Greengage DB

Андрей Аксенов

В этом руководстве приведены инструкции по настройке тестового кластера Greengage DB на одном хосте. Инструкции по развертыванию Greengage DB на нескольких хостах приведены в статье Инициализация СУБД.

Предварительные требования

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

Настройка операционной системы

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

Убедитесь, что вы вошли в систему под пользователем с правами sudo.

Отключение SELinux (CentOS)

  1. Откройте файл /etc/selinux/config для редактирования:

    $ sudo vi /etc/selinux/config
  2. Установите для параметра SELINUX значение disabled, чтобы отключить SELinux:

    SELINUX=disabled
  3. Сохраните и закройте файл.

  4. Перезагрузите систему, чтобы применить изменения.

Редактирование sysctl.conf

  1. Откройте файл /etc/sysctl.conf для редактирования:

    $ sudo vi /etc/sysctl.conf
  2. Установите следующие параметры:

    vm.overcommit_memory = 2
    vm.overcommit_ratio = 95
    net.ipv4.ip_local_port_range = 12000 65535
    kernel.sem = 250 2048000 200 8192
  3. Сохраните и закройте файл.

  4. Чтобы применить изменения, используйте команду sysctl:

    $ sudo sysctl --system

Редактирование limits.conf

  1. Откройте файл /etc/security/limits.conf:

    $ sudo vi /etc/security/limits.conf
  2. Установите следующие параметры для пользователя gpadmin:

    gpadmin soft nofile 524288
    gpadmin hard nofile 524288
    gpadmin soft nproc 150000
    gpadmin hard nproc 150000

    gpadmin будет создан в следующем разделе.

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

ПРИМЕЧАНИЕ

Если пользователь gpadmin уже существует, ограничения, заданные в limits.conf, применяются только к новым сеансам входа в систему. Выйдите из текущего сеанса и снова войдите под пользователем gpadmin перед созданием и запуском тестового кластера, чтобы изменения вступили в силу.

Создание административного пользователя Greengage DB

Вам необходимо создать системную учетную запись пользователя для запуска и администрирования Greengage DB, а также сгенерировать для этой учетной записи пару SSH-ключей. Для этого выполните шаги из раздела Создание административного пользователя Greengage DB. Затем вам нужно будет включить беспарольный SSH для данного пользователя, как описано ниже.

Включение беспарольного SSH

  1. Добавьте содержимое сгенерированного публичного ключа в файл authorized_keys:

    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  2. Измените права доступа к файлу authorized_keys следующим образом:

    $ chmod 600 ~/.ssh/authorized_keys

Создание тестового кластера

Этот раздел описывает, как клонировать репозиторий Greengage DB и развернуть тестовый кластер. Все шаги следует выполнять под пользователем gpadmin, созданным в предыдущем разделе.

Настройка окружения

Перед созданием и запуском тестового кластера настройте путь к Greengage DB и переменные окружения. Команды отличаются в зависимости от того, установлен ли Greengage DB из пакета .deb или собран из исходного кода:

$ source /opt/greengagedb/greengage/greengage_path.sh
$ source /usr/local/gpdb/greengage_path.sh

Это гарантирует, что все команды Greengage DB будут доступны в вашей сессии оболочки. Для получения дополнительной информации о настройке переменных окружения для Greengage DB см. раздел Установка переменных окружения для Greengage DB.

Клонирование репозитория Greengage DB

  1. (Опционально) Клонируйте репозиторий greengage, если он не был получен ранее:

    $ git clone \
      --branch 6.30.1 \
      --recurse-submodules \
      https://github.com/GreengageDB/greengage.git
  2. Измените текущий каталог на greengage:

    $ cd greengage

Запуск тестового кластера

  1. Запустите тестовый кластер, выполнив команду:

    $ make create-demo-cluster
  2. После инициализации и запуска кластера выполните команду source для файла gpAux/gpdemo/gpdemo-env.sh, чтобы установить значения переменных окружения PGPORT и MASTER_DATA_DIRECTORY:

    $ source gpAux/gpdemo/gpdemo-env.sh
  3. Проверьте состояние кластера, чтобы убедиться, что все экземпляры запущены:

    $ gpstate
ПРИМЕЧАНИЕ

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

Проверка кластера

  1. Выведите список всех баз данных кластера:

    $ psql -l

    Результат должен выглядеть следующим образом:

                                   List of databases
       Name    |  Owner  | Encoding |  Collate   |   Ctype    |  Access privileges
    -----------+---------+----------+------------+------------+---------------------
     postgres  | gpadmin | UTF8     | en_US.utf8 | en_US.utf8 |
     template0 | gpadmin | UTF8     | en_US.utf8 | en_US.utf8 | =c/gpadmin         +
               |         |          |            |            | gpadmin=CTc/gpadmin
     template1 | gpadmin | UTF8     | en_US.utf8 | en_US.utf8 | =c/gpadmin         +
               |         |          |            |            | gpadmin=CTc/gpadmin
    (3 rows)
  2. Подключитесь к базе данных postgres, созданной по умолчанию:

    $ psql postgres

    Результат должен выглядеть следующим образом:

    psql (9.4.26)
    Type "help" for help.
  3. Получите информацию об установленной версии Greengage DB:

    SELECT version();

    Вывод может выглядеть следующим образом:

    PostgreSQL 9.4.26 (Greengage Database 6.30.1 build dev) on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit compiled on Mar 19 2026 07:54:38

Остановка кластера

  1. Завершите сессию psql:

    \q
  2. Остановите кластер, используя утилиту gpstop:

    $ gpstop

Чтобы запустить кластер снова, выполните gpstart:

$ gpstart

Узнайте больше в разделе Запуск и остановка кластера.