Сборка Greengage DB из исходного кода
Этот раздел описывает сборку Greengage DB (на основе Greenplum Database) из исходного кода в операционных системах Linux и запуск тестового кластера. Исходный код Greengage DB доступен в репозитории greengage. Этот репозиторий также содержит скрипты, которые помогут вам установить зависимости, необходимые для сборки Greengage DB на требуемой платформе.
Предварительные требования
Для выполнения действий, описанных в этом документе, вам потребуется одна из следующих операционных систем:
-
Ubuntu.
-
Rocky Linux.
Для каждой из операционных систем необходимо установить git.
Настройка операционной системы
Чтобы тестовый кластер Greengage DB работал корректно, вам необходимо настроить некоторые параметры операционной системы.
Отключение SELinux (Rocky Linux)
-
Откройте файл /etc/selinux/config для редактирования:
$ sudo vi /etc/selinux/config -
Установите для параметра
SELINUXзначениеdisabled, чтобы отключить SELinux:SELINUX=disabled -
Сохраните и закройте файл.
-
Перезагрузите систему, чтобы применить изменения.
Редактирование sysctl.conf
-
Откройте файл /etc/sysctl.conf для редактирования:
$ sudo vi /etc/sysctl.conf -
Установите следующие параметры:
vm.overcommit_memory = 2 vm.overcommit_ratio = 95 net.ipv4.ip_local_port_range = 12000 65535 kernel.sem = 250 2048000 200 8192 -
Сохраните и закройте файл.
-
Чтобы применить изменения, используйте команду
sysctl:$ sudo sysctl --system
Редактирование limits.conf
-
Откройте файл /etc/security/limits.conf:
$ sudo vi /etc/security/limits.conf -
Установите следующие параметры для пользователя
gpadmin:gpadmin soft nofile 524288 gpadmin hard nofile 524288 gpadmin soft nproc 150000 gpadmin hard nproc 150000
gpadminбудет создан в следующем разделе. -
Сохраните и закройте файл.
Создание административного пользователя Greengage DB
Вам необходимо создать системную учетную запись пользователя для запуска и администрирования Greengage DB, а также сгенерировать для этой учетной записи пару SSH-ключей. Для этого выполните шаги из раздела Создание административного пользователя Greengage DB. Затем вам нужно будет включить беспарольный SSH для данного пользователя, как описано ниже.
Включение беспарольного SSH
-
Добавьте содержимое сгенерированного публичного ключа в файл authorized_keys:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys -
Измените права доступа к файлу authorized_keys следующим образом:
$ chmod 600 ~/.ssh/authorized_keys
Используйте команду ssh <hostname>, чтобы проверить возможность подключения к текущему хосту по SSH без ввода пароля.
Клонирование репозитория Greengage DB
-
Убедитесь, что вы вошли в систему как
gpadminи находитесь в домашнем каталоге. -
Клонируйте репозиторий greengage:
$ git clone --recurse-submodules https://github.com/GreengageDB/greengage.git -
Измените текущий каталог на greengage:
$ cd greengage -
Переключитесь на нужный тег, например:
$ git checkout tags/7.4.0
Установка зависимостей
Установите зависимости, требуемые для сборки Greengage DB на различных операционных системах.
Выполните скрипт README.Ubuntu.bash для установки зависимостей:
$ sudo ./README.Ubuntu.bash
Выполните скрипт README.Rhel-Rocky.bash для установки зависимостей:
$ sudo ./README.Rhel-Rocky.bash
Сборка и установка Greengage DB
-
Измените текущий каталог на greengage:
$ cd ~/greengage -
Настройте сборку Greengage DB следующим образом:
$ ./configure \ --with-perl \ --with-python \ --with-libxml \ --with-uuid=e2fs \ --with-openssl \ --with-gssapi \ --with-ldap \ --enable-ic-proxy \ --enable-orafce \ --prefix=/usr/local/gpdbПРИМЕЧАНИЕЧтобы увидеть все доступные параметры сборки, запустите
./configure --help. -
Скомпилируйте Greengage DB с помощью
make:$ make -j$(nproc)Если компиляция завершилась успешно, вывод должен содержать следующую информацию:
... All of Greengage Database successfully made. Ready to install.
-
Установите Greengage DB, используя команду
make install:$ sudo make -j$(nproc) installЕсли установка прошла успешно, вывод должен содержать следующую информацию:
... Greengage Database installation complete.
-
Измените владельца и группу для установленных файлов на
gpadmin:$ sudo chown -R gpadmin:gpadmin /usr/local/gpdb* $ sudo chgrp -R gpadmin /usr/local/gpdb* -
Установите путь к Greengage DB и переменные окружения следующим образом:
$ source /usr/local/gpdb/greengage_path.shПРИМЕЧАНИЕДобавьте указанную выше команду
sourceв файл запуска оболочкиgpadmin(например, в .bashrc). Это устанавливает путь к Greengage DB и переменные окружения при каждом входе в систему под пользователемgpadmin.
Создание тестового кластера
Этот раздел показывает, как запустить тестовый кластер.
Запуск тестового кластера
-
Запустите тестовый кластер, выполнив данную команду:
$ make create-demo-cluster -
После инициализации и запуска кластера выполните команду
sourceдля файла gpAux/gpdemo/gpdemo-env.sh, чтобы установить значения переменных окруженияPGPORTиCOORDINATOR_DATA_DIRECTORY:$ source gpAux/gpdemo/gpdemo-env.sh -
Проверьте состояние кластера, чтобы убедиться, что все экземпляры запущены:
$ gpstate
Проверка кластера
-
Выведите список всех баз данных кластера:
$ psql -lРезультат должен выглядеть следующим образом:
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+---------+----------+---------+---------+--------------------- postgres | gpadmin | UTF8 | C.UTF-8 | C.UTF-8 | template0 | gpadmin | UTF8 | C.UTF-8 | C.UTF-8 | =c/gpadmin + | | | | | gpadmin=CTc/gpadmin template1 | gpadmin | UTF8 | C.UTF-8 | C.UTF-8 | =c/gpadmin + | | | | | gpadmin=CTc/gpadmin (3 rows) -
Подключитесь к базе данных
postgres, созданной по умолчанию:$ psql postgresРезультат должен выглядеть следующим образом:
psql (12.22) Type "help" for help.
-
Получите информацию об установленной версии Greengage DB:
SELECT version();Вывод может выглядеть следующим образом:
PostgreSQL 12.22 (Greengage Database 7.4.0 build dev) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.2) 11.4.0, 64-bit compiled on Nov 26 2025 07:33:50 Bhuvnesh C.
PostgreSQL 12.22 (Greengage Database 7.4.0 build dev) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5), 64-bit compiled on Nov 26 2025 08:50:58 Bhuvnesh C.
Остановка кластера
-
Завершите сессию
psql:\q -
Остановите кластер, используя утилиту
gpstop:$ gpstop
Чтобы запустить кластер снова, выполните gpstart:
$ gpstart