CentOS搭建:GreenPlum
accttodo 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2
3
4
5
6
7
8
9
10
11
12
13