Greenplum hostname和address不一致导致配置文件无法加载

最近又遇到了几个坑,逐一记录分析下。

1、主机名hostname和address不一致

在又一次部署压测环境交由测试组进行压测时,同事修改了pg_hba.conf文件重新加载配置文件时报错。(找不到localhost.localdomain服务器)

Greenplum hostname和address不一致导致配置文件无法加载

看到这个报错时,我仔细回想,我是对着部署文档进行操作的,/etc/hosts、/etc/sysconfig/network也都改过了。

ping主机名的时候是正常的,gpssh互信的时候返回的也是hadoop-test1、hadoop-test2、hadoop-test3。

只能再去查看一下主机名设置,都是正常的。

psql登录数据库查看了下gp_segment_configuration时发现hostname和address不一致。

Greenplum hostname和address不一致导致配置文件无法加载

百度查了一圈确定是由于在修改/etc/hosts、/etc/sysconfig/network后未重启生效,导致地址名变了,主机名未变。

一开始想简单粗暴的修改gp_segment_configuration,发现报错。

update gp_segment_configuration set hostname='hadoop-test1' where address='hadoop-test1';
ERROR:  permission denied: "gp_segment_configuration" is a system catalog

搜索修改系统表的方法发现了一个参数 allow_system_table_mods。

set allow_system_table_mods='dml'; 

update gp_segment_configuration set hostname='hadoop-test1' where address='hadoop-test1';

Greenplum hostname和address不一致导致配置文件无法加载

再次执行gpstop -u发现加载配置文件正常

Greenplum hostname和address不一致导致配置文件无法加载

总结:在修改了主机名配置文件后,尽量重启机器(或其他办法)让主机名生效。避免地址和主机名不一致导致后续的配置加载等各种命令无法执行。

参考文档:https://blog.csdn.net/wxc20062006/article/details/78853737

上一篇:linux-shell系列2-机器巡检


下一篇:noj装载问题