GBase 8a集群启动日志报错Can't start server: Bind on TCP/IP port: Address already in use

如果数据库进程已经启动,或者某些原因其它进程占用了端口,则会导致GBase 8a数据库集群启动时无法绑定端口报错:Can't start server: Bind on TCP/IP port: Address already in use。

原因:

当前服务的端口已经被占用。包括如下集中情况

1)其它程序使用了这个端口

2)服务重复启动了

3)上一次服务停止没有正确完成,需要稍等。也可能成为了僵尸无法停止。

解决方案

1)将端口加入sysctl的保留端口。 ip_local_reserved_ports

如果是其他服务占用了,需要协商。

2)重复启动如果并不影响运行,可以忽略

3)如果是僵尸,大概率需要reboot服务器。 如果是上一次停驶很慢,那就稍等一会。 默认启动会拉起10次,如果还没有完成,需要人工再次启动服务。

查看端口占用的方法:

lsof -i:PORT , 比如

lsof -i:5258

lsof -i:5050