Установите GreenPlum 6 в CentOS 8.4.
Установите GreenPlum 6 в CentOS 8.4.

1. Планирование кластера Greenplum

hostname

IP

os

user

password

role

gp-mdw

193.169.100.151

Centos 8.4

root

admin123

Master

gp-smdw

193.169.100.152

Centos 8.4

root

admin123

Master Standy

gp-sdw01

193.169.100.153

Centos 8.4

root

admin123

Primary SegmentMirror Segment

gp-sdw02

193.169.100.154

Centos 8.4

root

admin123

Primary SegmentMirror Segment

gp-sdw03

193.169.100.155

Centos 8.4

root

admin123

Primary SegmentMirror Segment

  • Документ официального сайта, похоже, содержит много файлов команд и конфигурации.,На самом деле, большинство из них просто для, что упрощает работу с несколькими узлами.,Файл конфигурации используется только во время инициализации.
  • В официальной документации сайта mdw выражать Master Хозяин、smdw выражать Standby Хозяин、sdwвыражать Segment Хозяин。
  • После загрузки LD_LIBRARY_PATH из /usr/local/greenplum-db/greenplum_path.sh yum или apt будут недоступны.

https://network.pivotal.io/products/vmware-tanzu-greenplum#/releases/1163282/file_groups/9837

2. Требования к платформе

  1. Операционная система CentOS 64-разрядная версия 7.3 и выше,Воляswapнастраиватьдляи Память такая же большая, как。
  2. Пакеты зависимостей apr apr-util bash bzip2 curl krb5 libcurl libevent libxml2 libyaml zlib openldap openssh openssl openssl-libs perl readline rsync R sed tar zip
  3. Java
  • Open JDK 8 or Open JDK 11
  • Oracle JDK 8 or Oracle JDK 11
  1. Аппаратное обеспечение и сеть (1) Минимальная физическая память 16 ГБ. (2) Все Хозяинсуществовать в кластере находятся в одной локальной сети (подключены к коммутатору 10G). Рекомендуется, чтобы у каждого Хозяина было как минимум две сетевые карты 10G для объединения. mode4。 (3) Раздел данных использует файловую систему XFS. главный, резервный мастер Хозяин нужен только один раздел данных /data,сегмент Хозяин требует два раздела данных /data1, /data2,Используется как основной и зеркальный.

Официальная документация: http://docs.greenplum.org/6-12/install_guide/platform-requirements.html.

  1. Пространство данных пользователявычислить дисковое пространство * 0.7 = доступное пространство = (2 * Пространство данных пользователя) + Пространство данных пользователя/3 в: 2 * Пространство данных пользователя для primary + mirror необходимое пространство. Пространство данных пользователя/3 для рабочего пространства space)необходимое пространство.

Пример: дисковое пространство=2T,Затем пользовательданныедоступное пространство=2T0.73/7=600G。

Официальная документация: http://docs.greenplum.org/6-12/install_guide/capacity_planning.html.

3. Конфигурация системы

3.1. Конфигурация системы.

шаг 1. Измените имя хоста и добавьте следующий контент в /etc/hosts Отредактируйте файл /etc/hosts и добавьте все IP-адреса, имена хостов и псевдонимы в Greenplum. Главный псевдоним — mdw, резервный главный псевдоним — smdw, псевдонимы сегмента — sdw1, sdw2…

Язык кода:javascript
копировать
cat >> /etc/hosts <<EOF
# Greenplum DB
193.169.100.151  gp-mdw
193.169.100.152  gp-smdw
193.169.100.153  gp-sdw01
193.169.100.154  gp-sdw02
193.169.100.155  gp-sdw03
EOF

Обычно рекомендуемые правила именования следующие: имя проекта_gp_node. Мастер: dis_gp_mdw Резервный мастер: dis_gp_smdw Хост сегмента: dis_gp_sdw1 dis_gp_sdw2 и т. д.

Если резервный режим также построен на узле сегмента, он называется dis_gp_sdw3_smdw.

шаг 2. Отключите SELinux и брандмауэр.

Язык кода:javascript
копировать
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

systemctl stop firewalld && systemctl disable firewalld

шаг 3. Отредактируйте файл /etc/sysctl.conf и добавьте следующие настройки параметров:

Язык кода:javascript
копировать
cat >> /etc/sysctl.d/99-sysctl.conf <<EOF
# kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages
kernel.shmall = 197951838
# kernel.shmmax = kernel.shmall * PAGE_SIZE 
kernel.shmmax = 810810728448
kernel.shmmni = 4096
vm.overcommit_memory = 2 # See Segment Host Memory
vm.overcommit_ratio = 95 # See Segment Host Memory

net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
kernel.sem = 250 2048000 200 8192
kernel.sysrq = 1
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.msgmni = 2048
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ipfrag_high_thresh = 41943040
net.ipv4.ipfrag_low_thresh = 31457280
net.ipv4.ipfrag_time = 60
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.swappiness = 10
vm.zone_reclaim_mode = 0
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100

# Рекомендуется объем памяти более 64 ГБ.
# vm.dirty_background_ratio = 0 # See System Memory
# vm.dirty_ratio = 0
# vm.dirty_background_bytes = 1610612736
# vm.dirty_bytes = 4294967296
EOF

Настройте vm.min_free_kbytes

Язык кода:javascript
копировать
awk 'BEGIN {OFMT = "%.0f";} /MemTotal/ {print "vm.min_free_kbytes =", $2 * .03;}' /proc/meminfo >> /etc/sysctl.d/99-sysctl.conf

Сделайте конфигурацию эффективной

шаг 4. Отредактируйте файл /etc/security/limits.d/99-nproc.conf и добавьте (или измените) следующие настройки параметров:

Язык кода:javascript
копировать
cat > /etc/security/limits.d/99-nproc.conf <<EOF
* soft nofile 524288
* hard nofile 524288
* soft nproc 131072
* hard nproc 131072
EOF

шаг 5. Установите параметры монтирования файловой системы XFS Отредактируйте файл /etc/fstab и добавьте параметры монтирования файловой системы XFS как rw,nodev,noatime,nobarrier,inode64, например:

Язык кода:javascript
копировать
/dev/data /data xfs rw,nodev,noatime,nobarrier,inode64 0 0
/dev/data1 /data1 xfs rw,nodev,noatime,nobarrier,inode64 0 0
/dev/data2 /data2 xfs rw,nodev,noatime,nobarrier,inode64 0 0

Сделайте конфигурацию эффективной

Шаг 6. Установите значение блока упреждающего чтения 16384.

Язык кода:javascript
копировать
# Получите значение, например:
/sbin/blockdev --getra /dev/sda

# Установите значение, например:
/sbin/blockdev --setra 16384 /dev/sda

Добавьте команду настройки в файл /etc/rc.d/rc.local и назначьте файл исполняемым, чтобы система могла автоматически запускаться при перезапуске.

Язык кода:javascript
копировать
chmod +x /etc/rc.d/rc.local

Шаг 7. Установите политику планирования ввода-вывода для доступа к диску

Язык кода:javascript
копировать
echo deadline > /sys/block/sda/queue/scheduler
echo deadline > /sys/block/fd0/queue/scheduler
echo deadline > /sys/block/hdc/queue/scheduler

Добавьте команду настройки в файл /etc/rc.d/rc.local, чтобы автоматически выполнить перезагрузку системы.

Язык кода:javascript
копировать
echo "echo deadline > /sys/block/sda/queue/scheduler" >> /etc/rc.d/rc.local

Следующие методы недействительны после перезапуска

Язык кода:javascript
копировать
grubby --update-kernel=ALL --args="elevator=mq-deadline"
grubby --info=ALL

Шаг 8. Отключите прозрачные огромные страницы (THP)

Язык кода:javascript
копировать
# Посмотреть текущую конфигурацию
cat /sys/kernel/mm/transparent_hugepage/enabled

# настраивать
echo never > /sys/kernel/mm/transparent_hugepage/enabled

# Действует постоянно
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.d/rc.local

Сделайте так, чтобы перезагрузка системы вступала в силу автоматически:

Язык кода:javascript
копировать
grubby --update-kernel=ALL --args="transparent_hugepage=never"
grubby --info=ALL

шаг 9. Отключите удаление объекта IPC Отредактируйте файл /etc/systemd/logind.conf и установите параметры RemoveIPC:

Язык кода:javascript
копировать
RemoveIPC=no

Перезапустите службу Сделать конфигурацию эффективной:

Язык кода:javascript
копировать
service systemd-logind restart

шаг 10. Установите порог количества SSH-подключений Отредактируйте файл /etc/ssh/sshd_config и установите следующие параметры:

Язык кода:javascript
копировать
# Укажите, что разрешен одновременный параллелизм. SSH Количество подключений (MaxStartups). Если установлено значение для0, ограничений на выражение нет. Этот атрибут также можно задать в виде дляA:B:Cиз, например
# Значения этих трёх частей числовых значений следующие:
# 10: выразить Если количество одновременных подключений достигнет 10, оно начнет отклонять соединения, но не все из них будут отклонены.
# 30: Когда количество подключений достигает 10, существует 30% вероятность того, что соединение будет отклонено.
# 100: если будет достигнуто 100 одновременных подключений, 100% подключений будут отклонены.
MaxStartups 10:30:200

# Сколько сессий можно открыть параллельно для каждого соединения, значение по умолчанию — 10.
MaxSessions 200

# Отправляйте запрос сеанса клиенту каждые 30 секунд для поддержания соединения.
ClientAliveInterval 30

# выразить3выражать не удалось переподключиться 3 раза назад, перезапустите сеанс SSH
ClientAliveCountMax 3

Или допишите конфигурацию в конец:

Язык кода:javascript
копировать
cat >> /etc/ssh/sshd_config <<EOF
MaxStartups 10:30:200
MaxSessions 200
EOF

Перезапустите службу Сделать конфигурацию эффективной:

Язык кода:javascript
копировать
systemctl restart sshd

step 11. Подтвердите или настройте часовой пояс. “date” Результатом команды должен быть район Донгба, например: Чт. Feb 25 08:13:00 CST 2021 Если часовой пояс, установленный при установке операционной системы, неверен, можно выполнить “tzselect” Команда изменения часового пояса, выберите Asia -> China -> Beijing Time -> YES Вот и все. Перед установкой Greenplum обязательно убедитесь в правильности настройки часового пояса, поскольку после инициализации системы Greenplum значения LC_COLLATE и LC_CTYPE изменить нельзя.

3.2. Настройка синхронизированных системных часов.

шаг 1. Настройте сервер времени на хосте gp_mdw

Язык кода:javascript
копировать
pool 193.169.100.106 iburst

шаг 2. Настройте сервер времени на хосте gp_smdw

Язык кода:javascript
копировать
pool 193.169.100.107 iburst
pool gp-mdw iburst

Шаг 3. Добавьте NTP-серверы на все узлы сегмента.

Язык кода:javascript
копировать
pool gp-mdw iburst
pool gp-smdw iburst

шаг 4. Запустите службу chronyd на всех хостах и ​​проверьте статус синхронизации времени.

3.3.Создайте учетную запись gpadmin.

шаг 1. Создайте группы и пользователей

Язык кода:javascript
копировать
groupadd -r -g 1001 gpadmin
useradd gpadmin -r -m -g gpadmin -u 1001
passwd gpadmin

Шаг 2. Используйте visudo, чтобы предоставить sudo доступ пользователю gpadmin. Отредактируйте строку 110 и удалите комментарий ниже:

Язык кода:javascript
копировать
%wheel        ALL=(ALL)       NOPASSWD: ALL

Добавьте пользователя gpadmin в группу Wheel:

Язык кода:javascript
копировать
usermod -aG wheel gpadmin

3.4. Установите Java (необязательно).

Язык кода:javascript
копировать
# Найдите пакет изjava в репозитории yum.
yum search java | grep -i --color JDK

# Установить Java 1.8
yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

# Проверка установки
java -version

Перезапустите хост, чтобы все конфигурации вступили в силу. Официальная документация: http://docs.greenplum.org/6-12/install_guide/prep_os.html.

4. Установите программное обеспечение базы данных Greenplum.

4.1. Установите базу данных Гринплум.

Выполните следующие шаги от имени пользователя root на всех хостах.

шаг 1. Загрузите установочный пакет

Язык кода:javascript
копировать
wegt https://github.com/greenplum-db/gpdb/releases/download/6.14.1/open-source-greenplum-db-6.22.0-rhel8-x86_64.rpm

шаг 2. Установка

Язык кода:javascript
копировать
dnf install open-source-greenplum-db-6.22.0-rhel8-x86_64.rpm -y

шаг 3. Измените владельца и группу каталога установки.

Язык кода:javascript
копировать
chown -R gpadmin:gpadmin /usr/local/greenplum*
chgrp -R gpadmin /usr/local/greenplum*

4.2. Используйте инструмент gpssh-exkeys, чтобы включить вход без пароля для n-n.

Используйте пользователей root и gpadmin для выполнения следующих шагов на главном хосте:

шаг 1. Настройте среду Greenplum

Язык кода:javascript
копировать
source /usr/local/greenplum-db/greenplum_path.sh

# подтверждать gpssh
which gpssh

шаг 2. Пользователи root и gpadmin включают SSH без пароля

Язык кода:javascript
копировать
ssh-keygen -t rsa -b 4096

ssh-copy-id gp-mdw
ssh-copy-id gp-smdw
ssh-copy-id gp-sdw01
ssh-copy-id gp-sdw02
ssh-copy-id gp-sdw03

Шаг 3. Создайте файл с именем all_host в домашнем каталоге пользователя gpadmin, содержащий содержимое всех имен хостов Greenplum, например:

Язык кода:javascript
копировать
cat > all_host <<EOF
gp-mdw
gp-smdw
gp-sdw01
gp-sdw02
gp-sdw03
EOF

шаг 4. Настройте беспарольный вход на хост (настроены как root, так и gpadmin)

Язык кода:javascript
копировать
[gpadmin@gp-mdw ~]$ gpssh-exkeys -f all_host
[STEP 1 of 5] create local ID and authorize on local host
  ... /home/gpadmin/.ssh/id_rsa file exists ... key generation skipped

[STEP 2 of 5] keyscan all hosts and update known_hosts file

[STEP 3 of 5] retrieving credentials from remote hosts
  ... send to gp-smdw
  ... send to gp-sdw01
  ... send to gp-sdw02
  ... send to gp-sdw03

[STEP 4 of 5] determine common authentication file content

[STEP 5 of 5] copy authentication files to all remote hosts
  ... finished key exchange with gp-smdw
  ... finished key exchange with gp-sdw01
  ... finished key exchange with gp-sdw02
  ... finished key exchange with gp-sdw03

[INFO] completed successfully
[gpadmin@gp-mdw ~]$

После подключения сервера вы можете использовать gpssh для выполнения пакетных операций:

Язык кода:javascript
копировать
[gpadmin@gp-mdw ~]$ gpssh -f /home/gpadmin/all_host
=> pwd
[gp-sdw02] /home/gpadmin
[  gp-mdw] /home/gpadmin
[ gp-smdw] /home/gpadmin
[gp-sdw03] /home/gpadmin
[gp-sdw01] /home/gpadmin
=>

4.3. Подтвердите установку программного обеспечения.

Выполните следующие шаги от имени пользователя gpadmin на главном хосте.

Язык кода:javascript
копировать
gpssh -f all_host -e 'ls -l /usr/local/greenplum-db-6.22.0'

Если Greenplum установлен успешно, вы сможете войти на все хосты без запроса пароля.

Официальная документация: http://docs.greenplum.org/6-12/install_guide/install_gpdb.html.

5. Создайте область хранения данных.

source /usr/local/greenplum-db/greenplum_path.sh gpssh -f /home/gpadmin/all_host

5.1. Создайте области хранения данных на главном и резервном главных хостах.

Выполните следующие команды от имени пользователя gpadmin на главном хосте.

Язык кода:javascript
копировать
[root@gp-mdw ~]# source /usr/local/greenplum-db/greenplum_path.sh

[root@gp-mdw ~]# gpssh -h gp-mdw -e 'mkdir -p /opt/greenplum/data/master'
[gp-mdw] mkdir -p /opt/greenplum/data/master
[root@gp-mdw ~]# gpssh -h gp-mdw -e 'chown gpadmin:gpadmin /opt/greenplum/data/master'
[gp-mdw] chown gpadmin:gpadmin /opt/greenplum/data/master
[root@gp-mdw ~]#

[root@gp-mdw ~]# gpssh -h gp-smdw -e 'mkdir -p /opt/greenplum/data/master'
[gp-smdw] mkdir -p /opt/greenplum/data/master
[root@gp-mdw ~]# gpssh -h gp-smdw -e 'chown gpadmin:gpadmin /opt/greenplum/data/master'
[gp-smdw] chown gpadmin:gpadmin /opt/greenplum/data/master
[root@gp-mdw ~]# 

5.2. Создайте область хранения данных на хосте сегмента.

Выполните следующие шаги от имени пользователя gpadmin на главном хосте.

Шаг 1. Создайте файл с именем seg_host, содержащий имена хостов всех сегментов, например:

Язык кода:javascript
копировать
cat > seg_hosts <<EOF
gp-sdw01
gp-sdw02
gp-sdw03
EOF

Шаг 2. Создайте основной и зеркальный каталог данных на всех узлах сегмента.

Язык кода:javascript
копировать
[root@gp-mdw ~]# gpssh -f seg_hosts 
=> mkdir -p /opt/greenplum/data1/primary
[gp-sdw02]
[gp-sdw01]
[gp-sdw03]
=> mkdir -p /opt/greenplum/data1/mirror
[gp-sdw02]
[gp-sdw01]
[gp-sdw03]
=> mkdir -p /opt/greenplum/data2/primary
[gp-sdw02]
[gp-sdw01]
[gp-sdw03]
=> mkdir -p /opt/greenplum/data2/mirror
[gp-sdw02]
[gp-sdw01]
[gp-sdw03]
=> chown -R gpadmin /opt/greenplum/data1/*
[gp-sdw02]
[gp-sdw01]
[gp-sdw03]
=> chown -R gpadmin /opt/greenplum/data2/*
[gp-sdw02]
[gp-sdw01]
[gp-sdw03]
=>

Официальная документация: http://docs.greenplum.org/6-12/install_guide/create_data_dirs.html.

5.3. Копирование системных параметров на другие узлы (копировать можно только обычные файлы)

Язык кода:javascript
копировать
source /usr/local/greenplum-db/greenplum_path.sh

gpscp -f /home/gpadmin/seg_hosts /etc/hosts root@=:/etc/hosts

gpscp -f seg_hosts /etc/sysctl.d/99-sysctl.conf root@=:/etc/sysctl.d/99-sysctl.conf

gpscp -f seg_hosts /etc/security/limits.d/99-nproc.conf root@=:/etc/security/limits.d/99-nproc.conf

gpssh -f seg_hosts  -e 'sysctl -p'
gpssh -f seg_hosts  -e 'reboot'

6. Система проверки

6.1. Проверьте работоспособность сети.

Выполните следующие шаги от имени пользователя gpadmin на главном хосте.

шаг 1. Настройте среду Greenplum

Язык кода:javascript
копировать
source /usr/local/greenplum-db/greenplum_path.sh

Шаг 2. Проверьте скорость передачи данных в сети «точка-точка»:

Язык кода:javascript
копировать
# Двунаправленная отправка пакетов одновременно, подходит для ситуаций с четным количеством сетевых портов.
gpcheckperf -f all_host -r N -d /tmp > subnet.out

# Односторонняя последовательная отправка пакетов, подходящая для нечетного или четного количества сетевых портов.
gpcheckperf -f all_host -r n -d /tmp > subnet.out

Шаг 3. Проверьте скорость передачи данных в полной матричной сети «многие ко многим»:

Язык кода:javascript
копировать
gpcheckperf -f all_host -r M -d /tmp > subnet.out

Результат должен быть больше 100 МБ/с.

6.2. Проверьте производительность дискового ввода-вывода и пропускную способность памяти.

Выполните следующие шаги от имени пользователя gpadmin на главном хосте. шаг 1. Настройте среду Greenplum

Язык кода:javascript
копировать
source /usr/local/greenplum-db/greenplum_path.sh

Шаг 2. Проверьте производительность дискового ввода-вывода (dd) и пропускной способности памяти (поток).

Язык кода:javascript
копировать
gpcheckperf -f seg_hosts -r ds -D -d /opt/greenplum/data1/primary -d /opt/greenplum/data2/primary -d /opt/greenplum/data1/mirror -d /opt/greenplum /data2/mirror > io.out

Официальная документация: http://docs.greenplum.org/6-12/install_guide/validate.html.

7. Инициализируйте систему базы данных Greenplum.

7.1. Инициализация базы данных Greenplum (пользователь gpadmin).

Выполните следующие шаги от имени пользователя gpadmin на главном хосте.

шаг 1. Настройте среду Greenplum

Язык кода:javascript
копировать
source /usr/local/greenplum-db/greenplum_path.sh

Шаг 2. Создайте файл конфигурации базы данных Greenplum.

Язык кода:javascript
копировать
cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpinitsystem_config

шаг 3. Отредактируйте файл /home/gpadmin/gpinitsystem_config следующим образом.

Язык кода:javascript
копировать
# FILE NAME: gpinitsystem_config

# Configuration file needed by the gpinitsystem

################################################
#### REQUIRED PARAMETERS
################################################

#### Эта зеленая слива Названия систем заключаются в кавычки.
ARRAY_NAME="Greenplum Data Platform"

#### Утилита генерирует изданные каталоги в соответствии с соглашением об именах.
SEG_PREFIX=gpseg

#### Рассчитайте номер порта основного сегмента на основе базы.
PORT_BASE=6000

#### Будет создан основной каталог данных сегмента из местоположения файловой системы. Количество позиций из в списке определяет количество первичных сегментов из, которые будут созданы для каждого физического Хозяинина (если Хозяиниз имеет несколько адресов, перечисленных в файле Хозяинин, количество сегментов из будет равномерно распределено по существующему из адреса интерфейсов).
#declare -a DATA_DIRECTORY=(/data1/primary /data1/primary /data1/primary /data2/primary /data2/primary /data2/primary)
declare -a DATA_DIRECTORY=(/opt/greenplum/data1/primary /opt/greenplum/data1/primary /opt/greenplum/data1/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary /opt/greenplum/data2/primary)

#### Главный контроль Хозяиниз Операционная система Конфигурацияиз Хозяинимя или IP адрес.
MASTER_HOSTNAME=gp-mdw

#### Будет создан основной каталог данных в файловой системе.
MASTER_DIRECTORY=/opt/greenplum/data/master

#### Главный экземпляр по номеру порта.
MASTER_PORT=5432

#### Shell Утилита для подключения к удаленному Хозяину.
TRUSTED_SHELL=ssh

#### автоматический WAL Максимальное количество сегментов файла журнала между контрольными точками.
CHECK_POINT_SEGMENTS=8

#### Кодировка набора символов на стороне сервера по умолчанию.
ENCODING=UNICODE

################################################
#### OPTIONAL MIRROR PARAMETERS
################################################

#### Рассчитайте номер порта зеркального сегмента и мощность.
#MIRROR_PORT_BASE=7000

#### Будет создан каталог данных сегмента изображения в файловой системе. Количество позиций зеркала должно быть равно DATA_DIRECTORY Количество основных позиций и из указано в параметре.
#declare -a MIRROR_DATA_DIRECTORY=(/data1/mirror /data1/mirror /data1/mirror /data2/mirror /data2/mirror /data2/mirror)
declare -a MIRROR_DATA_DIRECTORY=(/opt/greenplum/data1/mirror /opt/greenplum/data1/mirror /opt/greenplum/data1/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror /opt/greenplum/data2/mirror)

################################################
#### OTHER OPTIONAL PARAMETERS
################################################

#### Инициализируйте назад, чтобы создать изданные библиотеки с этим именем.
#DATABASE_NAME=name_of_database

#### Существующийздесь указывается адрес файла Хозяин из местоположения вместо использования gpinitsystem из -h параметры.
#MACHINE_LIST_FILE=/home/gpadmin/gpconfigs/hostfile_gpinitsystem
MACHINE_LIST_FILE=/home/gpadmin/seg_hosts

Создайте этот файл и поместите в него только свое имя хоста: MACHINE_LIST_FILE=./hostlist_singlenode

Обновите эту строку до существующего каталога, который вы хотите использовать для праймериз, например: объявить -a DATA_DIRECTORY=(/home/gpadmin/primary/home/gpadmin/primary) Количество повторений каталога определяет количество сегментов.

Обновите эту строку, чтобы получить имя хоста вашего компьютера, в моем случае это имя хоста «ubuntu»: MASTER_HOSTNAME=ubuntu

Обновите запись основного каталога данных в файле и убедитесь, что он существует, создав каталог: MASTER_DIRECTORY=/home/gpadmin/master

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

шаг 4. Инициализируйте базу данных (требуется только мастер-нода)**

Язык кода:javascript
копировать
source /usr/local/greenplum-db/greenplum_path.sh

gpinitsystem -c gpinitsystem_config -s gp-smdw

Среди них gp-smdw относится к узлу, на котором расположен резервный главный узел. Возможно, существует соглашение о размещении резервного узла на последнем узле.

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

Язык кода:javascript
копировать
[gpadmin@gp-mdw ~]$ gpinitsystem -c gpinitsystem_config -s gp-smdw
20220928:12:43:09:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Checking configuration parameters, please wait...
20220928:12:43:09:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Reading Greenplum configuration file gpinitsystem_config
20220928:12:43:09:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Locale has not been set in gpinitsystem_config, will set to default value
20220928:12:43:09:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Locale set to en_US.utf8
20220928:12:43:09:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-No DATABASE_NAME set, will exit following template1 updates
20220928:12:43:09:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-MASTER_MAX_CONNECT not set, will set to default value 250
20220928:12:43:10:050132 gpinitsystem:gp-mdw:gpadmin-[WARN]:-Standby Master open file limit is 1024 should be >= 65535
20220928:12:43:10:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Checking configuration parameters, Completed
20220928:12:43:10:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Commencing multi-home checks, please wait...
...
20220928:12:43:11:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Configuring build for standard array
20220928:12:43:11:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Commencing multi-home checks, Completed
20220928:12:43:11:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Building primary segment instance array, please wait...
..................
20220928:12:43:23:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Checking Master host
20220928:12:43:23:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Checking new segment hosts, please wait...
..................20220928:12:43:48:050132 gpinitsystem:gp-mdw:gpadmin-[WARN]:-Host gp-sdw03 open files limit is 1024 should be >= 65535

20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Checking new segment hosts, Completed
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Greenplum Database Creation Parameters
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:---------------------------------------
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master Configuration
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:---------------------------------------
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master instance name       = Greenplum Data Platform
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master hostname            = gp-mdw
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master port                = 5432
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master instance dir        = /opt/greenplum/data/master/gpseg-1
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master LOCALE              = en_US.utf8
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Greenplum segment prefix   = gpseg
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master Database            = 
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master connections         = 250
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master buffers             = 128000kB
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Segment connections        = 750
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Segment buffers            = 128000kB
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Checkpoint segments        = 8
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Encoding                   = UNICODE
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Postgres param file        = Off
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Initdb to be used          = /usr/local/greenplum-db-6.22.0/bin/initdb
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-GP_LIBRARY_PATH is         = /usr/local/greenplum-db-6.22.0/lib
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-HEAP_CHECKSUM is           = on
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-HBA_HOSTNAMES is           = 0
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[WARN]:-Ulimit check               = Warnings generated, see log file <<<<<
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Array host connect type    = Single hostname per node
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master IP address [1]      = ::1
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master IP address [2]      = 193.169.100.151
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Master IP address [3]      = fe80::84e5:72ff:fe50:5dde
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Standby Master             = gp-smdw
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Number of primary segments = 6
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Standby IP address         = ::1
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Standby IP address         = 193.169.100.152
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Standby IP address         = fe80::107f:1eff:fe76:6fe1
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Total Database segments    = 18
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Trusted shell              = ssh
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Number segment hosts       = 3
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Mirroring config           = OFF
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:----------------------------------------
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Greenplum Primary Segment Configuration
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:----------------------------------------
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw01     6000     gp-sdw01     /opt/greenplum/data1/primary/gpseg0     2
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw01     6001     gp-sdw01     /opt/greenplum/data1/primary/gpseg1     3
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw01     6002     gp-sdw01     /opt/greenplum/data1/primary/gpseg2     4
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw01     6003     gp-sdw01     /opt/greenplum/data2/primary/gpseg3     5
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw01     6004     gp-sdw01     /opt/greenplum/data2/primary/gpseg4     6
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw01     6005     gp-sdw01     /opt/greenplum/data2/primary/gpseg5     7
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw02     6000     gp-sdw02     /opt/greenplum/data1/primary/gpseg6     8
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw02     6001     gp-sdw02     /opt/greenplum/data1/primary/gpseg7     9
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw02     6002     gp-sdw02     /opt/greenplum/data1/primary/gpseg8     10
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw02     6003     gp-sdw02     /opt/greenplum/data2/primary/gpseg9     11
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw02     6004     gp-sdw02     /opt/greenplum/data2/primary/gpseg10     12
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw02     6005     gp-sdw02     /opt/greenplum/data2/primary/gpseg11     13
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw03     6000     gp-sdw03     /opt/greenplum/data1/primary/gpseg12     14
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw03     6001     gp-sdw03     /opt/greenplum/data1/primary/gpseg13     15
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw03     6002     gp-sdw03     /opt/greenplum/data1/primary/gpseg14     16
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw03     6003     gp-sdw03     /opt/greenplum/data2/primary/gpseg15     17
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw03     6004     gp-sdw03     /opt/greenplum/data2/primary/gpseg16     18
20220928:12:43:49:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-gp-sdw03     6005     gp-sdw03     /opt/greenplum/data2/primary/gpseg17     19

Если все проверки пройдены успешно, программа предложит подтвердить настройку, например:

Язык кода:javascript
копировать
Continue with Greenplum creation Yy|Nn (default=N):
> y

Введите y, чтобы начать инициализацию. Когда установка завершится успешно, программа запустит систему базы данных Greenplum, и вы увидите:

Язык кода:javascript
копировать
20220928:12:43:58:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Building the Master instance database, please wait...
20220928:12:44:33:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Starting the Master in admin mode
20220928:12:44:38:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Commencing parallel build of primary segment instances
20220928:12:44:38:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Spawning parallel processes    batch [1], please wait...
..................
20220928:12:44:38:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Waiting for parallel processes batch [1], please wait...
....................................................................................
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:------------------------------------------------
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Parallel process exit status
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:------------------------------------------------
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Total processes marked as completed           = 18
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Total processes marked as killed              = 0
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Total processes marked as failed              = 0
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:------------------------------------------------
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Removing back out file
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-No errors generated from parallel processes
20220928:12:46:03:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Restarting the Greenplum instance in production mode
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Starting gpstop with args: -a -l /home/gpadmin/gpAdminLogs -m -d /opt/greenplum/data/master/gpseg-1
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Gathering information and validating the environment...
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source'
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Commencing Master instance shutdown with mode='smart'
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Master segment instance directory=/opt/greenplum/data/master/gpseg-1
20220928:12:46:03:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Stopping master segment and waiting for user connections to finish ...
server shutting down
20220928:12:46:04:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Attempting forceful termination of any leftover master process
20220928:12:46:04:061581 gpstop:gp-mdw:gpadmin-[INFO]:-Terminating processes for segment /opt/greenplum/data/master/gpseg-1
20220928:12:46:04:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Starting gpstart with args: -a -l /home/gpadmin/gpAdminLogs -d /opt/greenplum/data/master/gpseg-1
20220928:12:46:04:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Gathering information and validating the environment...
20220928:12:46:04:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Greenplum Binary Version: 'postgres (Greenplum Database) 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source'
20220928:12:46:04:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Greenplum Catalog Version: '301908232'
20220928:12:46:04:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Starting Master instance in admin mode
20220928:12:46:05:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
20220928:12:46:05:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20220928:12:46:05:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Setting new master era
20220928:12:46:05:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Master Started...
20220928:12:46:05:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Shutting down master
20220928:12:46:06:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Commencing parallel segment instance startup, please wait...
..
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Process results...
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-   Successful segment starts                                            = 18
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-   Failed segment starts                                                = 0
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-   Skipped segment starts (segments are marked down in configuration)   = 0
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Successfully started 18 of 18 segment instances 
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:12:46:09:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Starting Master instance gp-mdw directory /opt/greenplum/data/master/gpseg-1 
20220928:12:46:10:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Command pg_ctl reports Master gp-mdw instance active
20220928:12:46:10:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Connecting to dbname='template1' connect_timeout=15
20220928:12:46:10:061603 gpstart:gp-mdw:gpadmin-[INFO]:-No standby master configured.  skipping...
20220928:12:46:10:061603 gpstart:gp-mdw:gpadmin-[INFO]:-Database successfully started
20220928:12:46:10:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Completed restart of Greenplum instance in production mode
20220928:12:46:11:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Starting initialization of standby master gp-smdw
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Validating environment and parameters for standby initialization...
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Checking for data directory /opt/greenplum/data/master/gpseg-1 on gp-smdw
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:------------------------------------------------------
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master initialization parameters
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:------------------------------------------------------
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum master hostname               = gp-mdw
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum master data directory         = /opt/greenplum/data/master/gpseg-1
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum master port                   = 5432
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master hostname       = gp-smdw
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master port           = 5432
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum standby master data directory = /opt/greenplum/data/master/gpseg-1
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Greenplum update system catalog         = On
20220928:12:46:11:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Syncing Greenplum Database extensions to standby
20220928:12:46:12:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-The packages on gp-smdw are consistent.
20220928:12:46:12:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Adding standby master to catalog...
20220928:12:46:12:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Database catalog updated successfully.
20220928:12:46:12:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Updating pg_hba.conf file...
20220928:12:46:13:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-pg_hba.conf files updated successfully.
20220928:12:46:23:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Starting standby master
20220928:12:46:23:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Checking if standby master is running on host: gp-smdw  in directory: /opt/greenplum/data/master/gpseg-1
20220928:12:46:26:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Cleaning up pg_hba.conf backup files...
20220928:12:46:27:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Backup files of pg_hba.conf cleaned up successfully.
20220928:12:46:27:061695 gpinitstandby:gp-mdw:gpadmin-[INFO]:-Successfully created standby master on gp-smdw
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Successfully completed standby master initialization
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Scanning utility log file for any warning messages
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[WARN]:-*******************************************************
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[WARN]:-Scan of log file indicates that some warnings or errors
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[WARN]:-were generated during the array creation
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Please review contents of log file
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-/home/gpadmin/gpAdminLogs/gpinitsystem_20220928.log
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-To determine level of criticality
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[WARN]:-*******************************************************
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Greenplum Database instance successfully created
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-------------------------------------------------------
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-To complete the environment configuration, please 
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-update gpadmin .bashrc file with the following
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-1. Ensure that the greenplum_path.sh file is sourced
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-2. Add "export MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1"
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-   to access the Greenplum scripts for this instance:
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-   or, use -d /opt/greenplum/data/master/gpseg-1 option for the Greenplum scripts
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-   Example gpstate -d /opt/greenplum/data/master/gpseg-1
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Script log file = /home/gpadmin/gpAdminLogs/gpinitsystem_20220928.log
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-To remove instance, run gpdeletesystem utility
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Standby Master gp-smdw has been configured
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-To activate the Standby Master Segment in the event of Master
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-failure review options for gpactivatestandby
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-------------------------------------------------------
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-The Master /opt/greenplum/data/master/gpseg-1/pg_hba.conf post gpinitsystem
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-has been configured to allow all hosts within this new
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-array to intercommunicate. Any hosts external to this
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-new array must be explicitly added to this file
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-Refer to the Greenplum Admin support guide which is
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-located in the /usr/local/greenplum-db-6.22.0/docs directory
20220928:12:46:27:050132 gpinitsystem:gp-mdw:gpadmin-[INFO]:-------------------------------------------------------
[gpadmin@gp-mdw ~]$ 

Если во время инициализации возникнут какие-либо ошибки, весь процесс завершится неудачно, и система может остаться с частично созданной системой. На этом этапе вам следует просмотреть сообщения об ошибках и журналы, чтобы определить причину сбоя и место его возникновения. Журнал находится в файле gpinitsystem_2016XXXX.log главного узла/home/gpadmin/gpAdminLogs/.

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

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

Если программа gpinitsystem дает сбой и система находится в частично установленном состоянии, будет создан следующий сценарий резервного копирования:

Язык кода:javascript
копировать
~/gpAdminLogs/backout_gpinitsystem_<user>_<timestamp>

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

Язык кода:javascript
копировать
sh backout_gpinitsystem_gpadmin_20071031_121053

После исправления ошибки, вызвавшей сбой gpinitsystem, и запуска сценария возврата, повторно инициализируйте базу данных Greenplum.

spread mirror модель: (В режиме распространения первое зеркало хоста находится на следующем хосте, второе зеркало — на следующем хосте, а третье зеркало — на следующем хосте...) Выполните команду инициализации: gpinitsystem плюс –S, режим распределения узлов расширен.

Язык кода:javascript
копировать
gpinitsystem -c gpinitsystem_config -h seg_hosts -s gp-smdw –S

Проверьте запуск установленной базы данных Greenplum.

7.2. Установите переменные среды Greenplum.

Выполните следующие шаги от имени пользователя gpadmin на главном хосте.

шаг 1. Отредактируйте файл ресурсов ~/.bashrc и добавьте в него следующие переменные среды.

Язык кода:javascript
копировать
cat >>  ~/.bashrc <<EOF
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/opt/greenplum/data/master/gpseg-1
export PGPORT=5432
export PGUSER=gpadmin
export PGDATABASE=postgres
export LD_PRELOAD=/lib64/libz.so.1 ps
EOF

step 2.Сделайте конфигурацию эффективной

Язык кода:javascript
копировать
source ~/.bashrc

шаг 3. Скопируйте файлы среды на резервный главный

Язык кода:javascript
копировать
cd ~
scp .bashrc gp-smdw:`pwd`

7.3. Разрешить клиентам подключаться

Главный хост в /opt/greenplum/data/master/gpseg-1/pg_hba.conf настроен на разрешение всех хостов в этом новом Массивы для взаимодействия.

Отредактируйте файл /opt/greenplum/data/master/gpseg-1/pg_hba.conf и добавьте следующий IP-адрес клиента или сегмент сети, чтобы разрешить доступ с любого адреса.

Язык кода:javascript
копировать
host   all   all    0.0.0.0/0    md5

Записи в pg_hba.conf сопоставляются по порядку. Общий принцип заключается в том, что более ранние записи имеют более строгие условия соответствия, но чем слабее метод аутентификации; более поздние записи имеют более слабые условия соответствия, но тем надежнее метод аутентификации; Подключения к локальным сокетам используют аутентификацию по идентификатору.

7.4. Изменить параметры.

В зависимости от конкретной конфигурации оборудования значения атрибутов в postgresql.conf можно найти по адресу https://pgtune.leopard.in.ua/#/.

шаг 1. Проверьте состояние кластера

Язык кода:javascript
копировать
[gpadmin@gp-mdw ~]$ gpstate 
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-Starting gpstate with args: 
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source'
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 9.4.26 (Greenplum Database 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source) on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10), 64-bit compiled on Sep  8 2022 22:39:10'
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-Gathering data from segments...
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-Greenplum instance status summary
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Master instance                                = Active
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Master standby                                 = gp-smdw
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Standby master state                           = Standby host passive
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total segment instance count from metadata     = 18
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Primary Segment Status
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total primary segments                         = 18
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total primary segment valid (at master)        = 18
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total primary segment failures (at master)     = 0
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number of postmaster.pid files missing   = 0
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number of postmaster.pid files found     = 18
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs missing    = 0
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs found      = 18
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number of /tmp lock files missing        = 0
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number of /tmp lock files found          = 18
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number postmaster processes missing      = 0
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Total number postmaster processes found        = 18
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Mirror Segment Status
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-   Mirrors not configured on this array
20220928:13:00:57:062018 gpstate:gp-mdw:gpadmin-[INFO]:-----------------------------------------------------
[gpadmin@gp-mdw ~]$ 

Шаг 2. Отображение сегментов с проблемами статуса зеркалирования Отображение сведений о парах основного/зеркального сегмента с потенциальными проблемами, например. 1) Активные сегменты работают в режиме отслеживания изменений, что означает, что один сегмент не работает. 2) Активный сегмент находится в режиме ресинхронизации, что означает, что он догоняет изменения зеркала. 3) Сегмент не выполняет свою предпочтительную роль, например сегмент, который был основным сегментом при инициализации системы, теперь действует как зеркало, что означает, что у вас может быть один или несколько хостов сегмента с несбалансированной вычислительной нагрузкой.

Язык кода:javascript
копировать
[gpadmin@gp-mdw ~]$ gpstate -e
20220928:13:01:02:062124 gpstate:gp-mdw:gpadmin-[INFO]:-Starting gpstate with args: -e
20220928:13:01:02:062124 gpstate:gp-mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source'
20220928:13:01:02:062124 gpstate:gp-mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 9.4.26 (Greenplum Database 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source) on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10), 64-bit compiled on Sep  8 2022 22:39:10'
20220928:13:01:02:062124 gpstate:gp-mdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20220928:13:01:02:062124 gpstate:gp-mdw:gpadmin-[INFO]:-Physical mirroring is not configured
[gpadmin@gp-mdw ~]$

Шаг 3. Отображение информации о резервной первичной конфигурации:

Язык кода:javascript
копировать
[gpadmin@gp-mdw ~]$ gpstate -f
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-Starting gpstate with args: -f
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source'
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 9.4.26 (Greenplum Database 6.22.0 build commit:4b6c079bc3aed35b2f161c377e208185f9310a69 Open Source) on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10), 64-bit compiled on Sep  8 2022 22:39:10'
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-Obtaining Segment details from master...
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-Standby master details
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-----------------------
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-   Standby address          = gp-smdw
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-   Standby data directory   = /opt/greenplum/data/master/gpseg-1
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-   Standby port             = 5432
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-   Standby PID              = 22993
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:-   Standby status           = Standby host passive
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--------------------------------------------------------------
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--pg_stat_replication
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--------------------------------------------------------------
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--WAL Sender State: streaming
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--Sync state: sync
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--Sent Location: 0/C003C00
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--Flush Location: 0/C003C00
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--Replay Location: 0/C003B80
20220928:13:01:15:062147 gpstate:gp-mdw:gpadmin-[INFO]:--------------------------------------------------------------
[gpadmin@gp-mdw ~]$

шаг 4. Установите параметры

Язык кода:javascript
копировать
gpconfig -c max_connections -v 2500 -m 500
gpconfig -c max_prepared_transactions -v 500
gpconfig -c shared_buffers -v 5GB -m 32GB
gpconfig -c effective_cache_size -v 16GB -m 96GB
gpconfig -c maintenance_work_mem -v 1280MB -m 2GB
gpconfig -c checkpoint_completion_target -v 0.9
gpconfig -c wal_buffers -v 16MB -m 16MB
# gpconfig -c checkpoint_segments -v 32 --skipvalidation
gpconfig -c effective_io_concurrency -v 200
gpconfig -c default_statistics_target -v 100
gpconfig -c random_page_cost -v 1.1
gpconfig -c log_statement -v none
gpconfig -c gp_enable_global_deadlock_detector -v on
gpconfig -c gp_workfile_compression -v on
gpconfig -c gp_max_partition_level -v 1
# физическая память * 0.9 / (количество основного+зеркала),Единица измерения: МБ. Например,Память 256 ГБ,6 первичных,6 зеркал,настраиватьдля19660。
gpconfig -c gp_vmem_protect_limit -v 19660
# Преданный мастер、standbyХозяинначальствонастраиватьдляCPUКоличество ядер,segmentХозяинначальствонастраиватьдляCPUКоличество ядер/(количество основного+зеркала)。Например64ядерный,6 primary 6 mirror,настраиватьследующее:
gpconfig -c gp_resqueue_priority_cpucores_per_segment -v 5.3 -m 64

шаг 3. Выполнение контрольной точки

Язык кода:javascript
копировать
psql -c "CHECKPOINT"

шаг 4. Перезапустите greenplum

Язык кода:javascript
копировать
gpstop -r

Официальная документация: http://docs.greenplum.org/6-12/install_guide/init_gpdb.html.

8. Добавьте режим ожидания и зеркало.

8.1. Добавьте режим ожидания.

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

Язык кода:javascript
копировать
mkdir /opt/greenplum/data/master
chown gpadmin:gpadmin /opt/greenplum/data/master

Выполнить на главном сервере

Язык кода:javascript
копировать
gpinitstandby -s <standby_name>

Введите Y один раз посередине.

8.2. Добавить зеркало.

Зеркало — это зеркало, также называемое резервным копированием данных. Зеркала важны для хранения данных. Если вы ранее забыли настроить зеркало в файле инициализации GP, добавьте его следующим образом:

Язык кода:javascript
копировать
gpaddmirrors -p 1000

Во время работы вам необходимо дважды ввести путь к зеркалу: /opt/greenplum/data1/mirror

8.3.Метод доступа

Доступ к нему можно получить через настольный клиент gpAdmin или командную строку.

9. Тестовая база данных

9.1. Создайте временное табличное пространство.

Язык кода:javascript
копировать
create tablespace tmptbs location '/data/tmptbs';
alter role all set temp_tablespaces='tmptbs';

9.2.Создать пользователя

Язык кода:javascript
копировать
create role dwtest with password '123456' login createdb;

9.3. Тестовый вход

Язык кода:javascript
копировать
psql -U dwtest -h mdw
boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.