Starting a JMX Manager

JMX Manager nodes are members that manage other GemFire XD members (as well as themselves). A JMX Manager node can manage all other members in the distributed system.

To convert a managed node to a JMX Manager you configure the GemFire XD properties jmx-manager=true and jmx-manager-start=true in the gemfirexd.properties file or on the command line when you start the member.

To start a locator as a JMX Manager:
gfxd locator start -jmx-manager=true -jmx-manager-start=true
A server can also become a JMX Manager (using the same startup options).

For most deployments, you only need to have one JMX Manager per distributed system. However, you can run more than one JMX Manager if necessary. If you want to provide high-availability and redundancy for the Pulse monitoring tool, or if you are running additional JMX clients, then use the jmx-manager-start=true and -jmx-manager-start=true properties to force individual members (either locators or servers) to become JMX Managers at startup. Because there is some performance overhead to being a JMX Manager, Pivotal recomments using locators as JMX Managers.

After the member becomes a JMX Manager, all other jmx-manager-* configuration properties listed in Configuring a JMX Manager are applied.

Configuring a JMX Manager

JMX manager properties are configured as follows.

Property Description Default
jmx-manager

If true then this member can become a JMX Manager. All other jmx-manager-* properties are used when it does become a JMX Manager. If this property is false then all other jmx-manager-* properties are ignored.

false
jmx-manager-access-file

By default the JMX Manager allows full access to all MBeans by any client. If this property is set to the name of a file, then it can restrict clients to only reading MBeans; they cannot modify MBeans. The access level can be configured differently in this file for each user name defined in the password file. For more information about the format of this file see Oracle's documentation of the com.sun.management.jmxremote.access.file system property. Ignored if jmx-manager is false or if jmx-manager-port is zero. See Setting Up JMX Manager Authentication.

not set
jmx-manager-bind-address By default, the JMX Manager when configured with a port listens on all the local host's addresses. You can use this property to configure which particular IP address or host name the JMX Manager will listen on. This property is ignored if jmx-manager is false or jmx-manager-port is zero. not set
jmx-manager-hostname-for-clients Hostname given to clients that ask the locator for the location of a JMX Manager. By default the IP address of the JMX Manager is used. However, for clients on a different network, you can configure a different hostname to be given to clients. Ignored if jmx-manager is false or if jmx-manager-port is zero. not set
jmx-manager-http-port If non-zero, when started the JMX Manager will also start an embedded Web server and will listen on this port. The Web server is used to host the GemFire XD Pulse Web application. If you are hosting the Pulse web app in your own Web server, then disable this embedded server by setting this property to zero. Ignored if jmx-manager is false. 7070
jmx-manager-password-file By default the JMX Manager allows clients without credentials to connect. If this property is set to the name of a file, only clients that connect with credentials that match an entry in this file will be allowed. Most JVMs require that the file is only readable by the owner. For more information about the format of this file see Oracle's documentation of the com.sun.management.jmxremote.password.file system property. Ignored if jmx-manager is false or if jmx-manager-port is zero. See Setting Up JMX Manager Authentication. not set
jmx-manager-port The port on which this JMX Manager listens for client connections. If this property is set to zero, GemFire XD does not allow remote client connections. Alternatively, use the standard system properties supported by the JVM for configuring access from remote JMX clients. Ignored if jmx-manager is false. The Default RMI port is 1099. 1099
jmx-manager-ssl If true and jmx-manager-port is not zero, the JMX Manager accepts only SSL connections. The ssl-enabled property does not apply to the JMX Manager, but the other SSL properties do. This allows SSL to be configured for just the JMX Manager without needing to configure it for the other GemFire XD connections. Ignored if jmx-manager is false. false
jmx-manager-start If true, this member starts a JMX Manager when it boots. In most cases you should not set this property to true because a JMX Manager is automatically started when needed on a member that sets jmx-manager to true. Ignored if jmx-manager is false. false
jmx-manager-update-rate The rate, in milliseconds, at which this member pushes updates to any JMX Managers. Currently this value should be greater than or equal to the statistic-sample-rate. 2000

Connecting to a JMX Manager

After you start a member as a JMX Manager using the above options, you can access the manager with a JMX client by specifying a JMX URL with the connector path /jmxrmi. For example, when using the default RMI port the JMX URL is: service:jmx:rmi://bind-address/jndi/rmi://bind-address:1099/jmxrmi

If you configured GemFire XD with SSL encryption, connect directly to the bind-address:port instead of specifying the full JMX URL. See Browsing MBeans Using JConsole for an example.

Stopping a JMX Manager

To stop a JMX Manager, shut down the locator or server that hosts the JMX Manager. Or, use the JMX management API stopManager() method to stop a member from being a JMX Manager.

When a Manager stops, it removes all federated MBeans from other members from its Platform MBeanServer.