/

Locating The Stream Manager Application


The Stream Manager application comes packaged with your Red5 Pro distribution. You can locate streammanager in the webapps directory of your Red5 Pro installation directory: {red5prohome}/webapps/streammanager Configurable files can be located inside the WEB-INF folder:{RED5_HOME}/webapps/streammanager/WEB-INF

NOTE:Any changes made to Stream Manager configuration files will require restarting the Red5 Pro server service.

Stream Manager Configurable Properties

red5-web.properties Configuration File

Properties given below can be configured in the Stream Manager configuration file red5-web.properties located at:{streammanager}/WEB-INF/classes/red5-web.properties.

### DATABASE CONFIGURATION SECTION
config.dbHost={host}
config.dbPort=3306
config.dbUser={username}
config.dbPass={password}

config.dbHost

Configures the database host IP Address for RDS access. This property is required for proper functioning of the Stream Manager's database operations.

config.dbPort

Configures the database port for RDS access. This property is required for proper functioning of Stream Manager's database operations. The default value for this property is 3306 since MySQL servers are configured to run on 3306.

config.dbUser

Configures the database username for RDS access. This property is required for proper functioning of the Stream Manager's database operations. This must correspond to your database account access credentials.

config.dbPass

Configures the database password for RDS access. This property is required for proper functioning of Stream Manager's database operations. This must correspond to your database account access credentials.

### NODE CONTROLLER CONFIGURATION SECTION
instancecontroller.newNodePingTimeThreshold=150000
instancecontroller.replaceDeadClusters=true
instancecontroller.deleteDeadGroupNodesOnCleanUp=true
instancecontroller.instanceNamePrefix=node
instancecontroller.nodeGroupStateToleranceTime=180000
instancecontroller.nodeStateToleranceTime=180000
instancecontroller.cloudCleanupInterval=180000
instancecontroller.blackListCleanUpTime=600000
instancecontroller.pathMonitorInterval=30000
instancecontroller.minimumNodeFreeMemory=50

instancecontroller.newNodePingTimeThreshold

Configures the maximum expected ping time of a newly launched Red5 Pro instance. This value is configured in milliseconds. This time takes into account the time required for instance startup and Red5 service boot up. New nodes that are unable to ping the stream manager within the expected time (newNodePingTimeThreshold) are assumed to be out of service or dead nodes.

instancecontroller.replaceDeadClusters

Configures whether to replace a dead Node Group with a new one or not. A Node Group is considered dead by the Stream Manager if its origin hasn't pinged Stream Manager for a long time

  • If this property is set to true, Stream Manager replaces a dead Node Group with a new one with the same group configuration.
  • Setting this property to false ensures that dead clusters are cleaned up from the system without any replacement.

instancecontroller.deleteDeadGroupNodesOnCleanUp

Configures whether termination of nodes belonging to a dead Node Group implies permanently deleting the instances on the cloud platform or merely stopping them. A node group is considered dead by Stream Manager if its origin hasn't pinged Stream Manager for a long time

  • If this property is set to true, Stream Manager ensures that instances of the dead Node Group are permanently deleted from the cloud platform.
  • Setting this property to false means that cloud instances of a dead Node Group will be stopped and not permanently deleted from the cloud platform.

instancecontroller.instanceNamePrefix

Configures the name that will pre-pend any automatically created nodes. The stream manager uses this to search for and remove any nodes that have been stopped or are not communicating with the Stream Manager and need to be removed and/or replaced. If you are hosting multiple autoscaling environments within a hosting platform (a single Google Compute Engine Project for example), it is critical that this name be unique across solutions because if a Stream Manager detects a host with the correct naming prefix that is not in its database, it will shut down that node.

instancecontroller.nodeGroupStateToleranceTime

Configures the net time (in milliseconds) to wait before declaring a node group as stranded. A stranded node group is commonly a group which is in a TERMINATING state for longer than instancecontroller.nodeGroupStateToleranceTime milliseconds.

instancecontroller.nodeStateToleranceTime

Configures the net time (in milliseconds) to wait before declaring a node as stranded. A stranded node is commonly a node which is in a state other than INSERVICE state for longer than instancecontroller.nodeStateToleranceTime milliseconds.

instancecontroller.cloudCleanupInterval

Configures the net time (in milliseconds) to run the CloudSweeper job. This is a process that checks for nodes running on cloud platform spawned from current streammanager but not registered in database.

instancecontroller.blackListToleranceTime

Configures the net time (in milliseconds) to tolerate a CloudSweeperdetected unwanted instance in a temporary blacklist buffer before it is terminated.

instancecontroller.blackListCleanUpTime

Configures the net time (in milliseconds) to clean up CloudSweeper blacklist. Blacklist cleanup accounts for any instance that was detected once but never detected henceforth. This may happen if a user manually deletes the instance on cloud.

instancecontroller.pathMonitorInterval

Time interval (in milliseconds) for path monitor cron. The path monitor cron runs as a part of dynamic clustering to check cluster paths between nodes periodically and attempts to fix broken paths. The default value is set to 30 seconds.

instancecontroller.minimumNodeFreeMemory

Minimum free memory (in MB) allowed on a node for it to be considered as usable. If the free memory drops below this value traffic will not be forwarded to that node.