背景
因需要搭建一个GP测试环境,而os是centos 8.2,碰到一些问题,好在最终解决。考虑到网上暂无centos8.x安装gp6.x的相关文章,故记录此笔记,同时也给他人提供一些参考,少走一些弯路。
准备工作
1,先通读了一下官方文档中的《安装指南》:Installing and Upgrading Greenplum
2,考虑到分享需要,花了一点时间,将其翻译成中文:Pivotal Greenplum® 6.9 安装指南
备注:
1,翻译时最新的官方文档是6.8,翻完几天后官网推出6.9,上述翻译也做同步更新。
2,官方文档中的一节“安装可选的扩展“因时间关系未翻译。
3,官方文档中的平台要求未提到gp支持centos8,官网下载也未提供相应的包。考虑到os要重装且为测试用途,故想试试看。若用于生产环境,还是按其要求用centos7.x/6.x比较安心。
4,翻译它的另外一个动机是,gp中文社区有翻译《管理员指南》等文档,但无《安装指南》。
安装要点
1,根据配置系统所述,先配置好os。
注意:
1,对centos8而言,时间同步应使用chrony,而非该文中提到的ntp。
2,根据安装Greenplum数据库软件所述,进行安装。执行
sudo yum install ./greenplum-db-<version>-<platform>.rpm
此时应该碰到报错信息,大意为找不到 libssl.so.10 和libcrypto.so.10
最终的解决办法如下:
sudo dnf install compat-openssl10
注:
1,处理此问题,搜索得到类似这样的思路:openssl升级后 libssl.so.10缺失及版本问题、openssl升级时,libssl.so.10缺失问题,照做后发现gp安装程序的确能跳过该错误。但在后续的初始化Greenplum数据库系统时,会报出另外的错误信息,大意是找不到版本信息。经过一番折腾,发现上述方法可以成功解决这两个问题。
2,compat-openssl10下载页:compat-openssl10-1.0.2o-3.el8.i686.rpm。当然也可直接dnf 或 yum install。
3,安装成功后,根据初始化Greenplum数据库系统所述进行初始化,再次碰到报错信息,大意为:
gpinitsystem error -Failed to complete obtain psql count Master gp_segment_configuration Script Exiting
最终的解决办法如下(有两步):
cd /usr/lib64
sudo ln -s libreadline.so.7.0 libreadline.so.6
sudo dnf install libnsl
注:
1,根据报错信息进行搜索,清一色为:"RemoveIPC=no" >> /etc/systemd/logind.conf,但照做后依然报错。
2,查看安装日志,未发现有价值的线索。这个报错信息过于笼统,而搜索得出的思路又不能解决。着实花了些时间折腾。无意中运行psql,报错说少libreadline.so.6。出错信息具体之后就好办多了。本想沿用解决libssl.so.10的思路,找个指定版的安装包给它装上去,结果发现找不到centos8下对应的包(没搜出来:https://pkgs.org/search/?q=readline)。然后想着能不能用libreadline.so.7.0来冒充下6。发现可以,初始化程序不再报上述错误。
3,再次执行初始化,碰到报错信息,大意是找不到libnsl。通过搜索pkgs.org发现有提供,直接安装。再次执行初始化,最终成功。
查看初始化日志,正常;运行 gpstate命令,正常。
相关资源或参考的链接
libreadline.so.6 required but libreadline.so.7 is the current version