1. 程式人生 > >Greenplum hostname和address不一致導致配置檔案無法載入

Greenplum hostname和address不一致導致配置檔案無法載入

最近又遇到了幾個坑,逐一記錄分析下。

 

1、主機名hostname和address不一致

在又一次部署壓測環境交由測試組進行壓測時,同事修改了pg_hba.conf檔案重新載入配置檔案時報錯。(找不到localhost.localdomain伺服器)

看到這個報錯時,我仔細回想,我是對著部署文件進行操作的,/etc/hosts、/etc/sysconfig/network也都改過了。

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

只能再去檢視一下主機名設定,都是正常的。

psql登入資料庫查看了下gp_segment_configuration時發現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';

再次執行gpstop -u發現載入配置檔案正常

總結:在修改了主機名配置檔案後,儘量重啟機器(或其他辦法)讓主機名生效。避免地址和主機名不一致導致後續的配置載入等各種命令無法執行。

 

參考文件:https://blog.csdn.net/wxc20062006/article/details/78853737