When starting GPCC the following error is reported:
2024-10-18 03:39:14 [INFO]AgentManager: Agent successfully started on 227/227 hosts
Agent successfully started on 227/227 hosts
2024-10-18 03:39:14 [CRITICAL]Can't listen on port "28080": listen tcp :28080: bind: address already in use
2024-10-18 03:39:14 [CRITICAL]Can't listen on port "28080": listen tcp :28080: bind: address already in use
2024-10-18 03:37:27 Failed to start webserver due to bind: address already in use
2024-10-18 03:39:09 Starting the gpcc agents and webserver...
2024-10-18 03:39:14 Agent successfully started on 227/227 hosts
2024-10-18 03:39:14 View Greenplum Command Center at https://mdw:28080
2024-10-18 03:40:28 GPCC webserver: stopped
2024-10-18 03:40:28 GPCC agents: 0/227 agents running
2024-10-18 03:48:41 GPCC webserver: stopped
2024-10-18 03:48:41 GPCC agents: 0/227 agents running
2024-10-18 04:23:39 GPCC webserver: stopped
2024-10-18 04:23:39 GPCC agents: 0/227 agents running
2024-10-18 04:32:00 GPCC webserver: stopped
2024-10-18 04:32:00 GPCC agents: 0/227 agents running
Greenplum Database (GPDB): All versions
Greenplum Command Center (GPCC): All versions
While GPCC was stopped for an upgrade, another process was started and it bound to GPCC's port (28080).
The gpcopy utiliuty was initiated without specifying the ports. As a result, gpcopy defaulted to using port 28080, which is assigned for GPCC.
To find the process which is using the port, use "lsof" utility. See "man lsof" for details.
lsof -i :28080
If it is gpcopy,
1. The first option is to specify the port range when using gpcopy (BEST OPTION). See example below.
gpcopy --source-host mytest --source-port 1234 --source-user gpuser \ --dest-host demohost --dest-port 1234 --dest-user gpuser \ --dbname database1,database2 --truncate --jobs 8 --data-port-range 2000-2010
--data-port-range <lower_port>-<upper_port>
A range of port numbers to use on Greenplum Database destination hosts for data transfer. This applies to destination segment hosts or, if data is transferred using the coordinator segment, only the coordinator segment host. gpcopy
uses the first available port specified in the range (inclusive). <lower_port> must be greater than or equal to 1024 (to avoid reserved system ports), and <upper_port> must be a greater value.
If --data-port-range
is not specified, then gpcopy
uses any available port.
2. The second option would be to change the GPCC's default port in the app.conf file. This is not best option because, if a port range is not set in the gpcopy command, there is a possibility of using the port assigned to GPCC.
[gpadmin@mdw conf]$ cat app.conf
appname = gpccws
listentcp4 = true
runmode = prod
session = true
enablexsrf = true
xsrfexpire = 2592000
xsrfkey = 61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o
rendertype = json
printallsqls = false
master_port = 5432
path = /usr/local
display_name = gpcc
enable_kerberos = false
EnableHTTPS = false
EnableHTTP = true
httpport = 28081
rpc_port = 8899
language = English
log_level = INFO
ws_perf_port = 6162
agent_perf_port = 6163
master_host = mdw