blob: 4a53fdb6f59e70144ea397f68768302c9c799e7e [file] [log] [blame]
---
title: Cluster Management Service
---
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
**Note:** This feature is experimental and is subject to change in future releases of <%=vars.product_name_long%>.
The cluster management service enables you to change the configuration of
the cluster (for example, create/destroy regions, indexes, or gateway receivers/senders), and have these
changes replicated on all the applicable servers and persisted in the cluster configuration service.
With the cluster management service, you can:
- Create regions/indexes on the fly.
- Persist the configuration and apply it to the cluster, so when a new node joins, it has the configuration, and when the server restarts, it has the configuration.
- Obtain a consistent view of the current configuration
- Apply a change to all elements of the cluster in the same way
- Be able to change the configuration in one place
- Obtain this configuration without being on the cluster
- Invoke the configuration service from the server or from a client
The cluster management service is documented in the Geode Wiki: [Cluster Management Service](https://cwiki.apache.org/confluence/display/GEODE/Cluster+Management+Service).
The Wiki write-up offers separate choices for the cluster management service implementation on each Geode version that supports it.
The cluster management service is available as a [REST API](#cms-reference) and as a [Java API](#cms-java-api).
## <a id='cms-reference'>Cluster Management Service REST API</a>
The cluster management service REST API adheres to standard REST semantics, so users can use POST, PATCH, DELETE, and GET to create,
update, delete, and read, respectively.
This version of <%=vars.product_name%> uses the [<%=vars.product_version_geode%>.0 Management REST API](https://cwiki.apache.org/confluence/display/GEODE/<%=vars.product_version_geode%>.0+Management+REST+API+-+v1).
As mentioned, the feature is experimental and still undergoing revision.
For a definitive description of the cluster management service for your version of <%=vars.product_name%>, you can use the Swagger framework.
To use the Swagger UI to browse the cluster management service API:
1. Using `gfsh`, start a locator using the default settings.
2. Open a browser and enter the following URL:
```
http://localhost:7070/management/docs
```
This produces a browsable description of the cluster management service API:
<img src="../../images/swagger_cluster_mgmt.png" class="image" />
## <a id='cms-java-api'>Cluster Management Service Java API</a>
The cluster management service is available to Java clients via a Java API. To enable the cluster management service Java API, include `geode-management.jar` in your client classpath.
See the [Cluster Management Service Java Client topic on the Geode Wiki](https://cwiki.apache.org/confluence/display/GEODE/Cluster+Management+Service#ClusterManagementService-JavaClient) for more details.