компиляция_и_запуск_arenadata_db_на_simply_linux_10_1

Компиляция и запуск Arenadata DB на Simply Linux 10.1

Установка зависимостей

sudo apt-get update
sudo apt-get install -y git gcc gcc-c++ python2-base libreadline-devel zlib-devel libapr1-devel libevent-devel libcurl-devel bzlib-devel libxerces-c-devel python-dev bison flex  libyaml-devel libzstd-devel-static net-tools
sudo ln -s python2 /usr/bin/python

Настройка systemd (включаем RemoveIPC, включаем KillExcludeUsers для root и пользователя, из-под которого будем работать)

sudo sed -i -e "s/^#RemoveIPC=yes$/RemoveIPC=no/" -e "s/^#KillExcludeUsers=root$/KillExcludeUsers=root $USER/" /etc/systemd/logind.conf

Перезагрузка для применения изменений

sudo reboot

Скачать исходники ветки adb-6.x и перейти в каталог с ними

git clone https://github.com/arenadata/gpdb -b adb-6.x
cd gpdb

Скачать подмодули

git submodule update --init

Убрать параметры компилятора, которые вызывают ошибку на свежем GCC.

sed -i '/-std=c++98/d' src/backend/gpopt/gpopt.mk
sed -i '/-std=gnu++98/d' src/backend/gporca/gporca.mk

Сборка с максимальной отладочной информацией. Для свежего компилятора может потребоваться параметр -Wno-error=nonnull-compare

./configure --enable-debug-extensions --with-python --with-pythonsrc-ext --disable-gpcloud --enable-depend --enable-cassert CFLAGS="-O0 -g3 -ggdb -fno-omit-frame-pointer -Wno-error=deprecated-copy" CXXFLAGS="-O0 -g3 -fno-omit-frame-pointer -Wno-error=deprecated-copy" --prefix=$HOME/gpdb_bin

make -s -j`nproc`
make -s install

Настроить доступ по ключу к самому себе

Включить сервер ssh, если он еще не включен

sudo systemctl enable --now sshd

Проверяем, есть ли ключ

ls ~/.ssh/id_rsa*

Если нет ключа, генерим

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""

Добавляем ключ в файл ~/.ssh/authorized_keys

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Тестим - сначала запросит yes, а во второй раз ничего не спросит

ssh $(hostname) date

Запуск

Прибить процесс, выводящий окно при каждом обращении к ключу SSH

pkill ssh-agent

Инициализировать переменные окружения, необходимые для запуска кластера

source $HOME/gpdb_bin/greenplum_path.sh 

Создание и запуск тестового кластера. Все данные будут в каталоге ~/data

DATADIRS=~/data make create-demo-cluster

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

source gpAux/gpdemo/gpdemo-env.sh

Подключение к кластеру

psql postgres

В psql для теста можно выполнить запросы

select version();
select * from gp_segment_configuration order by content;
компиляция_и_запуск_arenadata_db_на_simply_linux_10_1.txt · Last modified: 2024/06/19 08:59 by keremet