问题背景:刚刚安装完的GreenPlum集群默认shared_buffers为128MB,为了提升系统性能需要修改。
shared_buffers:该参数决定了 Greenplum 数据库在内存中缓存数据的大小。建议将该参数设置为总内存的 25% 左右。官方文档中建议修改为机器物理内存的1/8-1/4,书籍推荐10-25%。
查看当前数据库的shared_buffers(数据库中查询即可):
SHOW shared_buffers;
修改方式一:
在master节点的gpadmin用户下执行:
gpconfig -c shared_buffers -v 4GB
修改方式二:
在Greenplum中,
postgresql.conf
文件是每个节点独立的,因此如果您想要修改集群的
shared_buffers
参数,需要对每个节点的
postgresql.conf
文件进行修改。
如果节点数量不多的情况下,可以挨个手动修改
postgresql.conf
文件中的shared_buffers。
如果节点数目比较多,可以采用如下命令:
find / -name postgresql.conf -type f -exec sed -i '$s/.*/shared_buffers=256MB/' {} \;
踩坑注意:一定是MB或者是GB,不能是M或者G,否则重启集群报错。
:-Failed to start Master instance in admin mode
20230515:10:53:33:002059 gpstart:hadoop106:gpadmin-[CRITICAL]:-Error occurred: non-zero rc: 1
Command was: 'env GPSESSID=0000000000 GPERA=None $GPHOME/bin/pg_ctl -D /home/gpadmin/data/master/gpseg-1 -l /home/gpadmin/data/master/gpseg-1/pg_log/startup.log -w -t 600 -o " -p 5432 -c gp_role=utility " start'
rc=1, stdout='waiting for server to start.... stopped waiting
', stderr='pg_ctl: could not start server
Examine the log output.
修改完可以执行以下命令查询:
find / -name postgresql.conf -exec tail -n 1 {} \;
方式一或者方式二修改完成后,需要关闭集群再启动集群。执行以下命令使配置生效
gpstop -u
gpstart
所以节点(master节点及segment节点修改完)需要重启集群,重启完检查是否生效。
版权归原作者 清纯男孩 所有, 如有侵权,请联系我们删除。