74 Configuring ECE for High Availability

Learn how to configure Oracle Communications Billing and Revenue Management Elastic Charging Engine (ECE) for high availability.

Topics in this document:

Configuring Backup Driver Machine for High Availability

You can configure a backup driver machine that takes over when the primary machine goes down or fails. You can configure the backup driver machine by setting the backupDriverIP entry in the ECE_home/config/ece.properties file. When the backup driver machine is configured:

  • The ECE configuration in both the driver machine and the backup driver machine is updated each time an ECE MBean is set.

  • If the primary or backup driver machine goes down or if it is not reachable, the ECE configuration in the driver machines is not updated when an ECE MBean is set.

If you have a driver machine and multiple server machines in your system, you can configure one of the existing server machines to be the new driver machine or the backup driver machine. Before you configure the driver machine:

  • Ensure that the selected machine has a JMX-management-enabled server node running.

  • Ensure that the two-way password-less SSH connection is established between the selected machine and all the other machines in your topology.

  • Ensure that the primary driver machine is added to the ECE topology. This ensures that the primary driver machine is also considered for synchronization when the sync command is run.

  1. On the selected machine, do one of the following:

    • To configure the selected machine as the new driver machine, run the following command:

      setDriverMachine -name driverIP -ip Driver_IP_Address

      where Driver_IP_Address is the IP address of the machine selected to be the new driver machine.

      Running this command without the -name driverIP parameter configures the selected machine as the primary driver machine.

    • To configure the selected machine as the backup driver machine, run the following command:

      setDriverMachine -name backupDriverIP -ip IP_Address

      where Backup_IP_Address is the IP address of the machine selected to be the backup driver machine.

    The selected machine is assigned as the new or backup driver machine and a success message appears.

  2. Verify that the new or backup driver machine is performing the relevant operations.

About Configuring Data Updaters for High Availability

You can configure and start multiple additional instances of the following components in the same system or different ECE systems (such as backup machines) to ensure high availability:

  • Rated Event Formatter

  • BRM Gateway

  • EM Gateway

  • Customer Updater

  • Pricing Updater

All the instances of the component configured for high availability can run at the same time with one instance always in the active mode and other instances in the standby mode. When the active instance of the component goes down due to system failure, one of the instances in the standby mode automatically becomes active and the instance that failed becomes standby. All the other instances continue to remain in the standby mode. You can configure additional instances of these components by using ECE Mbeans and ECE topology settings.

You can monitor the status of each component and server configured for high availability by using ECE Mbeans. For more information, see "Viewing ECE High Availability Status".

Configuring Customer Updater for High Availability

To configure a Customer Updater instance for high availability:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Configuration node.

  3. Expand charging.connectionConfigurations.

  4. Expand Operations.

  5. Click addoracleQueueConnectionConfiguration.

  6. Set the name attribute to the name of the additional Customer Updater instance; for example, CustomerUpdater2.

  7. Open the ECE_home/config/eceTopology.conf file.

  8. Add a row to the file for the Customer Updater instance.

    Use a unique name for each instance so that Elastic Charging Controller (ECC) can distinguish between them. (All Customer Updater instances use the same role).

    For example, to configure three Customer Updater instances, add three rows in which the name value is customerUpdater, customerUpdater2, and customerUpdater3 respectively, and the role value for all three rows is customerUpdater.

  9. Save and close the file.

  10. Repeat step 1.

  11. Expand charging.connectionConfigurations.customerUpdatern, where n is the number that represents the additional instance; for example, CustomerUpdater2.

  12. Expand Attributes.

  13. Specify the attributes for the additional Customer Updater instance.

    Note:

    You can configure multiple Customer Updater instances to connect to the same BRM schema.

    For information on the attributes, see "Configuring Customer Updater".

Configuring Pricing Updater for High Availability

To configure a Pricing Updater instance for high availability:

  1. Open the ECE_home/config/eceTopology.conf file.

  2. Add a row to the file for the Pricing Updater instance.

    Use a unique name for each instance so that Elastic Charging Controller (ECC) can distinguish between them. (All Pricing Updater instances use the same role).

    For example, to configure three Pricing Updater instances, add three rows in which the name value is pricingUpdater, pricingUpdater2, and pricingUpdater3 respectively, and the role value for all three rows is pricingUpdater.

  3. Save and close the file.

Configuring BRM Gateway for High Availability

To configure a BRM Gateway instance for high availability:

  1. Open the ECE_home/config/eceTopology.conf file.

  2. Add a row to the file for the BRM Gateway instance.

    Use a unique name for each instance so that Elastic Charging Controller (ECC) can distinguish between them. (All BRM Gateway instances use the same role).

    For example, to configure three BRM Gateway instances, add three rows in which the name value is brmGateway, brmGateway2, and brmGateway3 respectively, and the role value for all three rows is brmGateway.

  3. Save and close the file.

  4. Specify the attributes for the additional BRM Gateway instance by using ECE Mbeans.

    For instructions, see "Configuring Multiple BRM Gateway Instances" in ECE Implementing Charging.

Configuring EM Gateway for High Availability

To configure External Manager (EM) Gateway for high availability:

  1. Open the BRM_home/sys/cm/pin.conf file in a text editor.

  2. Add additional EM Gateway pointers to the file to use for failover. For example:

    -cm ece_real_time_sync_db_no 0.0.9.8
    -cm em_group ece PCM_OP_ECE_PUBLISH_EVENT
    -cm em_pointer ece ip emGateway_host1 emGateway_port1
    -cm em_pointer ece ip emGateway_host1 emGateway_port2
    -cm em_pointer ece ip emGateway_host2 emGateway_port3
    -cm em_pointer ece ip emGateway_host2 emGateway_port4

    where

    • emGateway_host1 is the name or IP address of the server on which one instance of EM Gateway is running.

    • emGateway_port1 is the primary port number for EM Gateway on host 1.

    • emGateway_port2 is a backup port number for EM Gateway on host 1.

    • emGateway_host2 is the name or IP address of the server on which another instance of EM Gateway is running. (EM Gateway can run on multiple hosts.)

    • emGateway_port3 is the primary port number for EM Gateway on host 2.

    • emGateway_port4 is a backup port number for EM Gateway on host 2.

  3. Set the value of the following entry to 2 or higher:

    -cm cm_op_max_retries 2

    This entry specifies the maximum number of times an opcode is retried in the CM. The default value is 1. For high availability, the value must be at least 2.

  4. Save and close the file.

  5. Restart the CM.

Configuring Rated Event Formatter for High Availability

To configure a Rated Event Formatter instance for high availability:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Configuration node.

  3. Expand charging.ratedEventFormatters.Instance_Name, where Instance_Name is the name of the instance you want to configure.

  4. Expand Attributes.

  5. Specify values for name and partition and for any remaining attributes you need to set for the instance. See

  6. Change directory to the ECE_home/bin directory.

  7. Start ECC:

    ./ecc
  8. Start Rated Event Formatter instances that you configured. See "Starting ECE".

Viewing ECE High Availability Status

To view the ECE high availability status:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Monitoring node.

  3. Expand HighAvailability.

  4. Expand Attributes.

    The ActiveInstances attribute displays the active instance of each component configured for high availability.

    The IsActive attribute displays true or false to indicate whether the connected instance is an active instance or a passive instance. The IsActive value is displayed only for the components or sevrers configured for high availability.

    The PassiveInstances attribute displays all the passive instances of each component configured for high availability.

Configuring Additional Data Storage Node Connections for High Availability

If you are using Oracle NoSQL Database for storing rated events, you can configure additional data storage node connections to allow failover. When ECE processes are restarted, if one of the configured data storage nodes goes down, ECE processes can connect to any other configured data storage node that is currently running.

To configure additional data storage node connections:

  1. Access the ECE configuration MBeans in a JMX editor, such as JConsole. See "Accessing ECE Configuration MBeans".

  2. Expand the ECE Configuration node.

  3. Expand charging.connectionConfigurations.noSQLConnectioninstance, where noSQLConnectioninstance is the name of the Oracle NoSQL database instance; for example, noSQLConnection1.

  4. Expand Attributes.

  5. Specify the value for the dataStoreConnection attribute. Enter the hostname:port for connecting to the Oracle NoSQL database instance. The default is "localhost:5000" for connecting to a standalone Oracle NoSQL database instance. You can add additional data store connections separated by a comma. For example:

    server1:5000,server2:6000,server3:7000