Registering the Reverse Proxy, Load Balancer, and ActiveMQ Brokers

You use command-line options of the 3DOrchestrate deployment utility to record information about the reverse proxy server, load balancer, and ActiveMQ brokers for the 3DOrchestrate server cluster. You then deploy and configure your ActiveMQ brokers.

ActiveMQ 5.10.1 is included with the 3DOrchestrate installation and is the only supported ActiveMQ version.

You must use the command-line deployment utility for these operations, not the GUI. These options are intended for use by system administrators and can be integrated into Windows or Linux scripts that configure the 3DOrchestrate server cluster at once. In all of the commands shown below, you can use verbose mode [-v] to generate diagnostic information if desired.

Note: Any command-line option shown in [square brackets] is optional; all others are mandatory.

  1. Open a command-line prompt, and change the current directory to <server_install_dir>; for example:

    C:\DassaultSystemes\R2020x\3DOrchestrate\

  2. Register your reverse proxy information by entering the following command on a single line:

    ./<os>/reffiles/SMAExeServer/deploy/smaexe-deploy.[bat|sh] –ha –net [–v] deploy.param [host=<RP-hostname>] port=<RP-port> EnlistRP,Save

    OptionDescription
    -ha Enables the set of actions used for deploying and configuring a cluster of 3DOrchestrate servers.
    -netSpecifies the subset of actions related to network components such as the reverse proxy (RP) or load balancer (LB).
    deploy.param

    Designates the custom deployment parameters file (that you prepared and saved in the previous task). In this command, you are writing (adding) reverse proxy information to the file.

    The deployment utility looks for the file deploy.param first in the user's home directory. If the file is not found there, the file is updated (or created) under the <server_install_dir>/config/ directory.

    Alternatively, you can specify an absolute path (fully qualified path) and file name to force the deployment utility to use a particular parameters file in any location (including a network shared directory).

    [host=<RP-hostname>]Hostname of your reverse proxy server. If this value is not provided, the default is the localhost.
    port=<RP-port>Port number to use for the reverse proxy server. Port 443 is the industry-standard default for HTTPS.
    EnlistRPInstantiates the reverse proxy configuration.
    SaveKeeps the reverse proxy configuration in the deploy.param file.

    After you run the smaexe-deploy command with these options, the deploy.param file contains the following new values:

    deploy.mode=cluster
    reverse.proxy.host=<hostname>
    reverse.proxy.port=<port#>
  3. Register your load balancer information by executing the following command:

    ./<os>/reffiles/SMAExeServer/deploy/smaexe-deploy.[bat|sh] -ha –net [-v] deploy.param [host=<LB-hostname>] port=<LB-port> EnlistLB,Save

    In this command, the -ha and -net options have the same meaning as in the reverse proxy command in Step 2 and the deploy.param file is the same parameter file.

    OptionDescription
    [host=<LB-hostname>]Hostname of your load balancer machine. If this value is not provided, the default is the localhost.
    port=<LB-port>Port number to use for the load balancer machine.
    EnlistLBInstantiates the load balancer configuration.
    SaveKeeps the load balancer configuration in the deploy.param file.

    After you run the smaexe-deploy command with these options, the deploy.param file contains the following new values:

    load.balancer.host=<hostname>
    load.balancer.port=<port#>
  4. Register each ActiveMQ (AMQ) broker as a member of the network by executing the command shown below. Your JMS network of brokers must include at least two ActiveMQ members.

    ./<os>/reffiles/SMAExeServer/deploy/smaexe-deploy.[bat|sh] -ha –amq [-v] deploy.param index=<AMQ-index> tag=<AMQ-tag> [host=<AMQ-hostname>] 
    http=<JmsOverHttp-port> [tcp=<JmsOverTcp-port>] [jmx=<AMQ-JMX-port>] [jetty=<AMQWebConsole-port>] EnlistAMQ,Save

    You must use this command multiple times to locally register all ActiveMQ brokers. Each ActiveMQ broker must have different index and tag values.

    Register all ActiveMQ brokers, whether they are installed locally or remotely. This registration is required for the 3DOrchestrate deployment utility to have all information required to configure the JMS network of brokers and the 3DOrchestrate server cluster.

    OptionDescription
    -haEnables the set of actions used for deploying and configuring a cluster of 3DOrchestrate servers.
    -amqSpecifies the subset of actions related to the JMS network of brokers (ActiveMQ servers).
    deploy.paramWrites (adds) ActiveMQ broker information to the deploy.param file. This is the same deployment parameters file used throughout this task.
    index=<AMQ-index>Numeric value between 1 and 99 used to keep track of information about this ActiveMQ member.
    tag=<AMQ-tag>Unique alphanumeric string used to identify this ActiveMQ member.
    [host=<AMQ-hostname>]Hostname of the ActiveMQ computer. If this value is not provided, the default is the localhost.
    http=<JmsOverHttp-port>Port number on which ActiveMQ communicates JMS over HTTP protocol. There is no default; recommended ports start at 61716.
    [tcp=<JmsOverTcp-port>]Port number on which ActiveMQ communicates JMS over TCP protocol. The default is 61616.
    [jmx=<AMQ-JMX-port>]Port number on which ActiveMQ communicates JMX (Java Management Extensions, which let you monitor and control the behavior of the broker). If this value is not provided, JMX will not be enabled.
    [jetty=<AMQWebConsole-port>]Port number for the ActiveMQ Web Console (served by the embedded Jetty Java servlet container). The default is 8161.
    EnlistAMQInstantiates the ActiveMQ member configuration.
    SaveKeeps the ActiveMQ configuration in the deploy.param file.

    Note: If you are using vertical clustering (multiple ActiveMQ members on the same computer), you must ensure that there are no port conflicts by specifying all necessary port numbers for each ActiveMQ instance.

    Note: If JMX is not enabled, the shutdown script will be unable to stop ActiveMQ. Instead, ActiveMQ should be shutdown by terminating the process.

    After you run the smaexe-deploy command with these options, the deploy.param file contains the following new values:

    activemq.<index>.tag=<AMQ-tag>
    activemq.<index>.host=<hostname>
    activemq.<index>.http=<port#>
    activemq.<index>.tcp=<port#>
    activemq.<index>.jmx=<port#>
    activemq.<index>.jetty=<port#>
  5. Deploy and configure an ActiveMQ broker as one member of the network of brokers by executing the following command:

    ./<os>/reffiles/SMAExeServer/deploy/smaexe-deploy.[bat|sh] -ha -amq [-v] deploy.param index=<AMQ-index> DeployAMQ,ConfigAMQ

    You must use this command multiple times to deploy and configure an ActiveMQ broker on each computer designated to host an ActiveMQ broker.

    OptionDescription
    -haEnables the set of actions used for deploying and configuring a cluster of 3DOrchestrate servers.
    -amqSpecifies the subset of actions related to the JMS network of brokers (ActiveMQ servers).
    deploy.param

    The custom deployment parameters file that you have prepared and saved in the previous tasks. In this command, you are reading ActiveMQ information from the file.

    The deployment utility looks for the file deploy.param first in the user's home directory. If the file is not found there, the file is updated (or created) under the <server_install_dir>/config/ directory.

    Alternatively, you can specify an absolute path (fully qualified path) and file name to force the deployment utility to use a particular parameters file in any location (including a network shared directory).

    index=<AMQ-index>Numerical index (1-99) of one of the previously registered ActiveMQ brokers.
    DeployAMQ

    Expands an ActiveMQ 5.10.1 software archive under the local 3DOrchestrate server name directory <server_install_dir>/<servername>/. The ActiveMQ subdirectory is named /activemq-<tag>/ using the identifying string you assigned to this ActiveMQ instance, for example:

    C:\DassaultSystemes\R2020x\3DOrchestrate\exe1\activemq-<tag>\
    ConfigAMQ

    Configures this ActiveMQ instance by doing the following:

    • Edit the ActiveMQ.xml and Jetty.xml files in <server_install_dir>/<servername>/activemq-<tag>/conf/ to insert the specific port numbers you registered for this instance.
    • Create startup, shutdown, and version scripts located in the directory <server_install_dir>/<servername>/activemq-<tag>/bin/.

    After this command runs to completion, the local 3DOrchestrate server name directory (default /exe1/) contains one or more (with vertical clustering) ActiveMQ brokers that are ready to run.