CentOS搭建:GreenPlum

12/31/2023 Linux

目录


参考:


# CentOS搭建:GreenPlum

# 环境依赖

软件/系统 版本 包名 备注
Linux 7(64) CentOS
JDK8 8+
Python 2+
GreenPlum 6.17 官网下载 (opens new window)

# 搭建步骤

l 检查

确认防火墙是否已经关闭

sestatus

--SELinuxstatus: disabled

firewalld

systemctl status firewalld
1
2
3
4
5
6
7

l 修改配置

根据附件修改sysctl.dev.conf

vim /etc/sysctl.conf
1

配置生效

sysctl -p
1

以下为一些参数的计算方式,可以跑脚本出结果

# kernel.shmall

echo $(expr $(getconf _PHYS_PAGES) / 2)

# kernel.shmmax

echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))

#gp_vmem_rq = ((SWAP + RAM) – (7.5GB + 0.05 * RAM)) / 1.7

#vm.overcommit_ratio = (RAM - 0.026 * gp_vmem_rq) / RAM 
1
2
3
4
5
6
7
8
9
10
11

l 修改系统配置

vim /etc/security/limits.conf

vim /etc/security/limits.d/20-nproc.conf
1
2
3

* soft nofile 524288

* hard nofile 524288

* soft nproc 131072

* hard nproc 131072

ulimit -u
1

l 检查字符集

echo $LANG

--en_US.UTF-8
1
2
3

l 修改ssh配置

vim /etc/ssh/sshd_config
1

MaxStartups 300:30:1000

service sshd restart
1

l 添加GP用户,生成key

groupadd gpadmin

useradd gpadmin -r -m -g gpadmin

passwd gpadmin

#su gpadmin

#ssh-keygen -t rsa -b 4096
1
2
3
4
5
6
7
8
9

l 用root用户安装GP

yum install ./gp.rpm

chown -R gpadmin:gpadmin /usr/local/greenplum*
1
2
3

以上在所有机器上都完成操作

以下仅在master操作

l 作为gp用户,拷贝ssh id,用来远程操作

su gpadmin

cd ~

source /usr/local/greenplum-db-6.17.2/greenplum_path.sh

ssh-copy-id uat-cdh-db-04

ssh-copy-id uat-cdh-db-05

ssh-copy-id uat-cdh-db-06

vim ~/hostfile_exkeys

uat-cdh-db-04

uat-cdh-db-05

uat-cdh-db-06

gpssh-exkeys -f hostfile_exkeys
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# su gpadmin

gpssh -f hostfile_exkeys -e 'ls -l /usr/local/greenplum-db-6.17.2'

# as root
1
2
3
4
5

以下用root操作

mkdir -p /data/master

chown gpadmin:gpadmin /data/master

# master备机

# source /usr/local/greenplum-db/greenplum_path.sh 

# gpssh -h smdw -e 'mkdir -p /data/master'

# gpssh -h smdw -e 'chown gpadmin:gpadmin /data/master'

vim hostfile_gpssh_segonly

uat-cdh-db-05

uat-cdh-db-06

source /usr/local/greenplum-db/greenplum_path.sh

gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data/primary'

gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data/mirror'

gpssh -f hostfile_gpssh_segonly -e 'chown -R gpadmin /data/*'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

l 跑分看看网络、系统等是否正常

gpcheckperf -f hostfile_gpssh_segonly -r N -d /tmp > subnet1.out
1

使用gp用户

su gpadmin

source /usr/local/greenplum-db/greenplum_path.sh

vim hostfile_gpssh_segonly

gpcheckperf -f hostfile_gpssh_segonly -r ds -D -d /data/primary -d /data/mirror
1
2
3
4
5
6
7

l gp配置

su - gpadmin

source /usr/local/greenplum-db/greenplum_path.sh

mkdir /home/gpadmin/gpconfigs

vim /home/gpadmin/gpconfigs/hostfile_gpinitsystem

uat-cdh-db-05

uat-cdh-db-06

cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config /home/gpadmin/gpconfigs/gpinitsystem_config
1
2
3
4
5
6
7
8
9
10
11
12
13

l 检查端口范围,不要被占用了

#vim /etc/sysctl.conf

#see net.ipv4.ip_local_port_range

vim /home/gpadmin/gpconfigs/gpinitsystem_config

PORT_BASE=6600

declare -a DATA_DIRECTORY=(/data/primary)

MASTER_HOSTNAME=uat-cdh-db-04

MASTER_PORT=5832

#MIRROR_PORT_BASE=7600

#declare -a MIRROR_DATA_DIRECTORY=(/data/mirror)

DATABASE_NAME=gp_zkdb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

l 初始化系统

cd ~

gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem
1
2
3

l 添加环境变量

# addition

vim /home/gpadmin/.bashrc

source /usr/local/greenplum-db/greenplum_path.sh

export MASTER_DATA_DIRECTORY=/data/master/gpseg-1

export PGPORT=5632

export PGUSER=gpadmin

export PGDATABASE=template1

export LD_PRELOAD=/lib64/libz.so.1 ps
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

l 检查验证

psql -h uat-cdh-db-05 -p 5632 -d postgres

\l

\q

 

vi /data/master/gpseg-1/pg_hba.conf

host   all     all       0.0.0.0/0 md5
1
2
3
4
5
6
7
8
9
10
11

l 重启数据库

gpstop -ra
1

l 重新加载配置

gpstop -u
1

l 使用数据库

create role dbzktest password 'dbzktest' createdb login;

select rolname,oid from pg_roles;

alter role dbzktest createrole;

 

\## jdbc:postgresql://88.4.44.89:5632/test_gpdb

\## dbzktest/dbzktest

\## select * from test_gpsch.test_table;
1
2
3
4
5
6
7
8
9
10
11
12
13
上次更新时间: 9/25/2024, 1:19:15 AM