Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Overview

This document describes two-instance FIXEdge installation on one host . Twousing two independent sets of binaries and configs will be installed. In future they . These installations can be updated, managed, or uninstalled independently.

General oneThe general single-instance FIXEdge installation procedure is described in https://kb.b2bits.com/display/B2BITS/FIXEdge + Installation + Guide and  and it is recommended to read it before following this procedure. Keep in mind that our example may slightly differ from that in the one-instance installation procedure (e.g. folder directories names).

It is assumed that the user has no installed instances of FIXEdge. The step-by-step procedure is  provided provided for installation from not a non-customized distributive package. Windows OS and Linux OS cases are considered. 

Installation directories

Windows

  1. c:\B2BITS\FIXEdge_one
  2. c:\B2BITS\

...

  1. FIXEdge_two

Linux

  1. /home/user/B2BITS/FIXEdge_one
  2. /home/user/B2BITS/

...

  1. FIXEdge_two

where a user is the name of concrete the user that performs performing the installation

Important precaution notes before starting changes

Info

Remember that

...

Linux OS is case-sensitive. That means that e.g. FIXEdge1.sh and FixEdge1.sh are different files.

Pay attention to port values – using one port value in several instances may lead to conflicts and failures.

Install

...

Installation

Windows

...

  1. Extract distribution archive of FIXEdge to the instance 1 folder (in our test case it is B2BITS1 on c: drive). Extract distributive archive of FIXEdge to the instance 2 folder (in our test case it is B2BITS2 on c: drive)

...

  1. Put license file to 1st instance

...

  1. FIXEdge root directory (c:\B2BITS\FIXEdge_one\FIXEdge). Put license file to 2nd  instance fixedge root directory (c:\B2BITS\FIXEdge_two\FIXEdge).         

...

  1. Edit service names in a wrapper.conf file for 2nd instance for they must be different from 1st instance names.

    Code Block

...

  1. titlewrapper.conf
    # Name of the service
    

...

  1. wrapper.ntservice.name=FIXICC - Agent FIXEdge2
     

...

  1. 
    

...

  1. # Display name of the service
    

...

  1. wrapper.ntservice.displayname=FIXICC - Agent FIXEdge2

...

...

  1. Change port values in configuration files (see example in

...

  1. ExampleConfigurationusedfortesting)

    parameter

    configuration file

    ListenPort

    engine.properties

    Monitoring.ListenPort

    engine.properties

    ControlCentre.XMLSockMonitor.Port

...

  1. FIXEdge.properties

    AgentServerPort

    agent.properties

...

  1. Open cmd.exe as Administrator and run the following scripts

    Code Block
    C:>\B2BITS\FIXEdge_one\FIXEdge\fixicc-agent\bat>installService.FIXEdge1.bat
    C:>\B2BITS\FIXEdge_one\FIXEdge\fixicc-agent\bat>startService.FIXEdge1.bat
    

...

  1. C:>\B2BITS\FIXEdge_one\FIXEdge\bin\FIXEdge1.install.cmd
    

...

  1. Edit the following files for 2nd instance
    In B2BITS\FIXEdge_two\FIXEdge\FIXEdge1\conf\FIXEdge.properties file set parameter ServiceName=FIXEdge2
    In B2BITS\FIXEdge_two\FIXEdge\FIXEdge1\bin\FIXEdge1.install.cmd change  FIXEdge.FIXEdge1 to FIXEdge.FIXEdge2
    In

...

  1. B2BITS\FIXEdge_two\FIXEdge\FIXEdge1\bin\FIXEdge1.service.run.cmd change  FIXEdge.FIXEdge1 to FIXEdge.FIXEdge2
    In B2BITS\FIXEdge_two\FIXEdge\FIXEdge1\bin\FIXEdge1.service.stop.cmd change  FIXEdge.FIXEdge1 to FIXEdge.FIXEdge2
    In B2BITS\FIXEdge_two\FIXEdge\FIXEdge1\bin\FIXEdge1.uninstall.cmd change  FIXEdge.FIXEdge1 to FIXEdge.FIXEdge2

...

  1. Open cmd.exe as Administrator and run the following scripts

    Code Block
    C:>\B2BITS\FIXEdge_two\FIXEdge\fixicc-agent\bat>installService.FIXEdge1.bat
    C:>\B2BITS\FIXEdge_two\FIXEdge\fixicc-agent\bat>startService.FIXEdge1.bat
    c:>\B2BITS\FIXEdge_two\FIXEdge\bin\FIXEdge1.install.cmd
    

...

  1. You can connect to

...

  1. the server and start

...

  1. the server in FIXICC in the same manner as for one-instance case (for details see https://kb.b2bits.com/display/B2BITS/FIXEdge+Installation+Guide)

If everything is OK you can see services for both instances running


In FIXICC GUI you can see both servers started

 

Linux

...

  1. Extract distribution archive of FIXEdge to the instance 1 folder /home/user/B2BITS/FIXEdge_one. Extract distribution archive of FIXEdge to the instance 2 folder /home/user/B2BITS/FIXEdge_two.

...

  1.  Put license file to 1st instance fixedge root directory /home/user/B2BITS/FIXEdge_one/FIXEdge. Put license file to 2nd  instance fixedge root directory /home/user/B2BITS/FIXEdge_one/FIXEdge.        

...

  1. Edit B2BITS/FIXEdge_two/FIXEdge/fixicc-agent/conf/wrapper.conf (change service names)

    Code Block
    #********************************************************************
    # Wrapper Windows Service and Posix Daemon

...

  1.  Properties
    #********************************************************************
    # Name of the service
    wrapper.ntservice.name=FIXICC_Agent_Server2
    # Display name of the service
    wrapper.ntservice.displayname=FIXICC - AgentServer2

...

  1. Change port values in configuration files (see example in Example Configuration used for testing)

    parameter

    configuration file

    ListenPort

    engine.properties

    Monitoring.ListenPort

    engine.properties

    ControlCentre.XMLSockMonitor.Port

    Fixedge.properties

    AgentServerPort

    agent.properties

...

  1. run installation and start service scripts

    Code Block
    $>/home/user/B2BITS/FIXEdge_one/FIXEdge/fixicc-agent/bin/installDaemon.sh
    $>/home/user/B2BITS/FIXEdge_one/FIXEdge/fixicc-agent/bin/startDaemonNoPriv.sh
    $>/home/user/B2BITS/FIXEdge_two/FIXEdge/fixicc-agent/bin/installDaemon.sh
    $>/home/user/B2BITS/FIXEdge_two/FIXEdge/fixicc-agent/bin/startDaemonNoPriv.sh
    

Use ps -ef command to find processes corresponding to fixicc agent servers.

...

  1. Check processes via ps command

    Code Block
    languagebash
    ps -eF | grep java
    ps -eF | grep FIXEdge
  2. Connect to the server and start the server in FIXICC in the same manner as for a one-instance case (for details see

...

  1. FIXEdge

...

  1. Installation

...

  1. Guide)
     If everything is

...

  1. working you can see servers started in FIXICC GUI (on the picture below you can see our test case example.

...

  1. The first two string correspond to the windows case and the last two strings show two

...

  1. Linux fixedge instances running)

    Image Modified


Example Configuration used for testing

Two-instance configuration has been prepared and tested

Test case 1.

Windows 10

FIXEdge-6.6.0.12-FA-2.25.0.24-Windows-vc14-x64.zip installation package

For Windows installations, FIXICC GUI application is running on the same windows machine

Test case 2.

Linux CentOS7

FIXEdge-6.6.0.12-FA-2.25.0.24-Linux-2.6.32-gcc-7.3.1-x86_64.tar.gz installation package

FIXICC GUI application running on windows machine

Port configuration

parameter

configuration file

 

FIXEdge1 windows

FIXEdge2

 windows

FIXEdge1

  linux

 

FIXEdge2

  linux

 

ListenPort

engine.properties

8901

8911

8901

8911

Monitoring.ListenPort

engine.properties

 

8803

8813

8803

8813

ControlCentre.XMLSockMonitor.Port

Fixedge

FIXEdge.properties

8902

8912

8902

8912

AgentServerPort

agent.properties

8903

8913

8005

8006

Troubleshooting

...

Find troubleshooting notes for one-instance installation cases in

https://kb.b2bits.com/display/B2BITS/FIXEdge+installation+on+Windows.+Step+by+step+instruction

1. server installation fails. The error is

Image Removed

Check ServiceName  parameter in FIXEdge.properties file.

2. Second instance of fixicc agent installs and starts without errors but doesn’t appear in services

 Image Removed

Check wrapper.conf file – service names must be changed.

3. Server do not start from FIXICC GUI. The process starts and hangs for a long time, but no error messages appear in the details field.

Image Removed

Check server name parameter in FIXEdge1.service.run.cmd.

Linux

Find troubleshooting notes for one-instance installation cases in https://kb.b2bits.com/display/B2BITS/FIXEdge+installation+on+Linux.+Step+by+step+instruction

Uninstall

If you wish to uninstall both instances of FIXEdge you should do the following steps depending on what operation operating system you are running

Windows

1. Open cmd.exe as Administrator and run scripts

Code Block
C:\B2BITS\FIXEdge_one\FIXEdge\fixicc-agent\bat\stopService.FIXEdge1.bat
C:\B2BITS\FIXEdge_one\FIXEdge\fixicc-agent\bat\uninstallService.FIXEdge1.bat

C:\B2BITS\FIXEdge_two\FIXEdge\fixicc-agent\bat\stopService.FIXEdge1.bat
C:\B2BITS\FIXEdge_two\FIXEdge\fixicc-agent\bat\uninstallService.FIXEdge1.bat

C:\B2BITS\FIXEdge_one\FIXEdge\bin\FIXEdge1.uninstall.cmd
C:\B2BITS\FIXEdge_two\FIXEdge\bin\FIXEdge1.uninstall.cmd

2. Remove B2BITS\FIXEdge_one and B2BITS\FIXEdge_two folders  folders recursively

Linux

1.  run scripts 

Code Block
$>/home/user/B2BITS/FIXEdge_one/FIXEdge/fixicc-agent/bin/stopDaemonNoPriv.sh
$>/home/user/B2BITS/FIXEdge_one/FIXEdge/fixicc-agent/bin/uninstallDaemon.sh

$>/home/user/B2BITS/FIXEdge_two/FIXEdge/fixicc-agent/bin/stopDaemonNoPriv.sh
$>/home/user/B2BITS/FIXEdge_two/FIXEdge/fixicc-agent/bin/uninstallDaemon.sh

$>/home/user/B2BITS/FIXEdge_one/FIXEdge/bin/FIXEdge1.stop.sh
$>/home/user/B2BITS/FIXEdge_two/FIXEdge/bin/FIXEdge1.stop.sh

2. Remove Remove B2BITS/FIXEdge_one  and B2BITS/FIXEdge_two folders recursively folders recursively

Troubleshooting

Related articles:

Server installation fails with the error "Cannot create service. The specified service already exists in this database"

Check the ServiceName parameter in FIXEdge.properties file.

The second instance of fixicc-agent installs and starts without errors but doesn’t appear in services

 Image Added

Check wrapper.conf file – service names must be changed.

The server does not start from FIXICC GUI. The process starts and hangs for a long time, but no error messages appear in the details field.

Image Added

Check server name parameter in FIXEdge1.service.run.cmd.

Try to run FIXEdge as console application to get full error using FIXEdge1.run.cmd or FIXEdge1.run.sh