Salesforce

How To Configure Multiple Versions of AdminServer To Be Run Concurrently since OpenEdge 10.1B, 11.x, 12.x

« Go Back

Information

 
TitleHow To Configure Multiple Versions of AdminServer To Be Run Concurrently since OpenEdge 10.1B, 11.x, 12.x
URL NameP159835
Article Number000140557
EnvironmentProduct: OpenEdge
Version: 10.1B, 10.2, 11, 12
OS: All Supported Operating Systems
Other: AdminServer, OEM, OEE
Question/Problem Description
How to configure multiple versions of AdminServer to be run concurrently without port conficts?
How to change the default ports of multiple AdminServer versions on the same machine?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution

To run multiple different OpenEdge AdminServer versions on the same machine

The AdminServer -port and -adminport need to be uniquely defined for each installed version.

In order to have different versions of the AdminServer running and working properly on the same server, port conflicts need to be considered. The AdminServer has two ports set aside for use, with the -port and -adminport parameters.

Where:
  • The port referenced by the -port parameter, is the main AdminServer Listening Port. All queries and start/stop requests are sent, for example when running: proadsv -query -port <port>, fathom -stop -port <port>, dbman -start -all -port <port>
The default AdminServer listening port is 20931 across all Progress OpenEdge versions.
  • The port referenced by the -adminport parameter, is the Communication Port between the servergroup and the AdminServer used by databases to communicate with the AdminServer. For example to re-connect to the AdminServer when the AdminServer is restarted.
The default AdminServer communication port for different OpenEdge versions are documented in Article:
To change the -adminport and -port that the AdminServer uses:

Progress versions pre OpenEdge 10.1B

The -port and -adminport are configured in the Registry. Refer to Article: Since OpenEdge 10.1B, 11.x, 12.x

The unified DLC\properties\AdminServerPlugins.properties file was introduced, which is the preferred configuration method instead of the registry as was required previously. This makes this solution portable to environments where the AdminServer runs on UNIX or Windows servers.

For each OpenEdge 10.1B and later AdminServer version running on the same machine, configure unique and available ports on which each AdminServer is listening (-port) and communicating (-adminport), in the DLC\properties\AdminServerPlugins.properties file:

1.  Shutdown the AdminServer for which port changes are needed.

2.  Backup and then Open DLC\properties\AdminServerPlugins.properties file in a text editor

3.  Append the port and adminport arguments at the end of the following Section:
  • For each OpenEdge 10.1B to 11.6 version, in the section: [PluginPolicy.Progress.AdminServer] 
  • For OpenEdge 11.7,12.x additionally in the section: [PluginPolicy.Progress.ProAdsv]
Example:
[PluginPolicy.Progress.AdminServer] | [PluginPolicy.Progress.ProAdsv]

pluginclasspath=!{value-of:classpath}     
classpath=<full classpath referencing necessary .jar files>
jvmargs=-Xmx1024m -Xrs -Djava.awt.headless=true -Xbootclasspath/a:oee/dlc/jars/pja.jar 
port=20941
adminport=7841

4.  Start the AdminServer. 

When the port | adminport are configured in the AdminServerPlugins.properties:
  • They will always be used when the AdminServer is started by the AdminService, jvmstart makes use of the "PluginPolicy.Progress.AdminServer" section, otherwise proadsv uses the "PluginPolicy.Progress.ProAdsv" section. It's best to define these in both sections, there were some issues with this in earlier versions.
  • This doesn't mean these are the ports used - The AdminServer could have simply be started with different values when running proadsv using these parameter switches
When these ports are not in your [PluginPolicy.Progress.ProAdsv] section, then the default ports are used unless-otherwise-specified when you run the proadsv command line using the -port -adminport property switches. 

The port used is written to the admserv.log:
Listening Port (-port):  <port>
[RegistryManager]       Port: <port> (7871)
[RegistryManager]       Opening RMI socket on <IP Address>: <port>
[RegistryManager]       Creating the registry thread on port <port> (7892)
[RegistryManager]       RMI registry thread started: RegistryImpl[UnicastServerRef [liveRef: [endpoint:[<hostname>:<port>](local),objID:[0:0:0, 0]]]] (7893)

Communication Port (-adminport) :
[Database] Opening database server listening port on address /0.0.0.0:<adminport>

Considerations:

1. Port Conflicts

The AdminServer will fail to startup if the adminport port is in use. If this port is in use already, another server socket cannot be created using this port.
Example:
  1. Two AdminServers running on two different listening ports (-port 20931, and -port 20932).
  2. A distinct -adminport is not specified.
They will both try to open the default adminport for that Progress version (eg: 7832), so one of them will fail to start.  Another reason could be that the -port (20931, 20932) or -adminport (7835) is already in use by some other process.

The value of -adminport must not be the same Server port that is used for any of the OpenEdge Server products. These are two different ports, for different purposes.

2. AdminServer Commandline

When using the associated command-line utilities (proadsv, nsman, dbman, asbman, wtbman) the appropriate -port argument for the AdminServer in use, this also applies to the (retired) Progress Explorer > Properties > Advanced > Server Port Number.

Examples: proadsv -query -port <port>, fathom -stop -port <port>, dbman -start -all -port <port>

Alternatively add the -port argument and port number to the ubutil.bat file in order that the *man utilities automatically append the correct Listening Port:
:endparm
set PARMS=%PARMS% -port 20951 
 
3. OpenEdge Explorer (OEE) or OpenEdge Management (OEM)

When multiple different versions of are used the following additional default ports will need to be changed:

a. Resource configuration in the OpenEdge Console does not require any changes when the default port and adminport are changed .

b. Web server HTTP Listener Port
  • In OpenEdge 10.2B and all OpenEdge 11 versions, the AdminSever connects through the Jetty WebServer HTTP Listener Port (default=9090) which will need to be changed when remote monitoring of other versions is not used. 
  • Since OpenEdge 12, the OEM/OEE (fathom.plugin) has been abstracted from the AdminServer and is exposed as a webapp running on a PASOE instance which uses the tomcat http(s) listener port.  
  • Instructions change the web server listening port are provided in Article:

c. DBAgent (-agentport), used to communicate with databases. Refer to Article:
d. Remote AdminServer ports (discoveryPort) for OpenEdge versions 11.3 to 11.7:  Refer to Article:
      
e. Process Polling port for OpenEdge 11.x and later, (there is no Process Manager prior OE 11): Refer to Article:

f. Prior to OpenEdge 11.5.1, The HTTP Ports used by the webserver for the REST Manager: Refer to Article:
g. OpenEdge 12

Since OpenEdge 12.0 OEM/OEE is no longer a self-hosted web application running as a part of the AdminServer, it has been converted to a pure web application running in Tomcat. The OEM/OEE (fathom.plugin) is exposed as a web app running on a PASOE instance which uses the tomcat http(s) listener port. 
As such, there is no longer the need to that enable (glue) and disable (unglue) OEM functionality. The OEM install directory is effectively the directory of a deployed PAS instance (CATALINA_BASE)
  • As with previously running "multiple AdminServers", it's not only the -port and -adminport that need to be unique, you also need to change others when using OEE/OEM. For example:
    The Web Service port is now configured in the {OEE | OEM installation directory}\conf\catalina.properties file psc.as.http.port=9090 ).  
    Apart from the -adminport and -port switches which can be used with the proadsv command, new switches are available to additionally specify a different DBAgent (-agentport) and Remote AdminServer (-mgmtport) previously the discoveryPort)

    The following Documentation describes where these configuration changes have moved :
    Upgrade to OpenEdge 12, OpenEdge Management AdminServer Configuration Upgrade
    https://docs.progress.com/bundle/openedge-upgrade/page/OpenEdge-Management-AdminServer-Configuration-Upgrade.html   
  • Remote management port -mgmtport can be configured in DLC/properties/management.properties file.  Entry port = <portnumber>.
OE 12 OEE/OEM will try to bind to the Remote AdminServer through port 6835 as default, it's hard-coded in the configdb. So if the OE 11.7 AdminServer is running when starting version 12 OEE/OEM, it will try to connect to the 11.7 AdminServer on this port.
Even when -mgmtport is used to change the remote adminserver port, (or port in management.properties), this makes no difference to the port 6835 seen in the OE Console. The de-coupling of the AdminServer/fathom-plugin in OE 12 essentially means even the 'local' AdminServer is a 'Remote AdminServer. To reconfigure the remote AdminServer port refer to Article: OE Explorer of Version 12.0 is showing 11.7 resources   
  • The AdminServer is still started as before (proadsv or the "Progress OpenEdge AdminServer Service 12.2").
  • The fathom server instance no longer starts when the AdminServer is started. It is started with the "OpenEdge Management Service for OpenEdge". The user starting this Windows Service may need revision. Refer to Article: Errors trying to start PASOE instance using "Local Service" account  
    Or from the commandline with pasman | tcman:
$OEM/bin/tcman service start or 'fathom -start' (on windows, elevated cmd)
$OEM/bin/tcman start (if not service, if not on windows)
Workaround
Notes
Keyword Phrase
Last Modified Date4/6/2022 8:57 AM

Powered by