gpt4 book ai didi

postgresql - Greenplum 数据库没有动态扩展到我们的 Linux 系统

转载 作者:行者123 更新时间:2023-11-29 14:01:02 26 4
gpt4 key购买 nike

这种情况下的主要困难是来自 Greenplum 数据库的磁盘空间不足错误。我们在 Amazon Linux 机器上运行 Greenplum 数据库 4.2.0.0。

调查显示如下:

1) Greenplum 说我们空间不足。我们运行 gp_disk_free 命令并得到以下结果。

0;" sdw1";" /dev/md126";2740872
1;" sdw1";" /dev/md127";1968592
2;" sdw2";" /dev/md126";1100
3;" sdw2";" /dev/md127";1728236

每一行都是数据库上的一个段,sdw1 和 sdw2 是主机,/dev/md* 是它表示数据库所在的设备。这些数字是数据库中剩余的字节数。也就是几兆字节。

2) 我们用 df -h 查看我们的 Linux 系统并得到以下信息:

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1 7.9G 1.6G 6.3G 21% /
tmpfs 3.7G 0 3.7G 0% /dev/shm
/dev/xvdo 8.0G 48M 8.0G 1% /home
/dev/md127 24G 456M 24G 2% /data1

我们的结论是我们有足够的空间让数据库占用,但我们无法弄清楚如何配置 Greenplum 来动态地这样做,甚至不知道如何增加它的大小以占用 Linux 机器上更多的文件系统空间。

我们研究了 gpexpand 命令,它似乎只在您添加新主机和硬件时有效,考虑到我们的 Linux 机器上有多少空间,我们不需要这样做。

我们还通过增加 max_fsm_pages 和 max_fsm_relations 参数来增加可用空间映射,但这在运行 Vacuum 命令后几乎没有释放空间。我们不知道下一步该做什么。

关于如何在我们的 Linux 机器上增加我们的 Greenplum 数据库的磁盘大小有什么想法吗?

最佳答案

gp_disk_free 只是在每个段上运行 df 命令。它以千字节为单位报告可用大小。

您在 2 个网段服务器上有 4 个网段。每个段使用不同的磁盘;这是一个很好的策略。

在 sdw2 上运行并使用/dev/md126 的段 2 是磁盘空间不足的段。它只有 1.1 MB。

如果我假设只有数据库在使用磁盘空间,那么就存在偏斜问题。您的某些表的分配策略导致段 2 上放置的行多于其他段。

你可以用这样的东西来调查这个:

select gp_segment_id, count(1) from <your_table_name> group by 1 order by 1 ;

解决方案是更改分发策略。选择不同的列放在“分布者”子句中或使用“随机分布”子句。

如果不是歪斜问题,那么看看sdw2上是什么占用了磁盘空间。

伦纳德·沃尔斯塔德

关键

www.gopivotal.com

关于postgresql - Greenplum 数据库没有动态扩展到我们的 Linux 系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17728539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com