Services
This section describes the services of HCP for cloud scale as well as how to view, configure, move, and repair services.
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.
Services Overview
Services perform functions essential to the health or functionality of the system. For example, the Metrics service stores and manages system events, while the Watchdog service ensures that other services remain running. Internally, services run in Docker containers on the instances in the system.
Services are grouped into these categories depending on what actions they perform:
•Services — Enable product functionality. You can scale, move, and reconfigure these services.
•System services — Maintain the health and availability of the system. You cannot scale, move, or reconfigure these services.
Some System services run only on master instances. See About master and worker instances.
Some services are classified as applications. These are the services with which users interact. Services that are not applications typically interact only with other services.
Services run on instances in the system. Most services can run simultaneously on multiple instances. That is, you can have multiple instances of a service running on multiple instances in the system. Some services run on only one instance.
Each service has a recommended and required number of instances on which it should run. For information, see Service list.
You can configure where Product services services run, but not System services.
If a service supports floating, you have flexibility in configuring where new instances of that service are started when service instances fail.
Non-floating (or persistent) services run on the specific instances that you specify. If one of those service instances fails, the system does not automatically bring up a new instance of that service on another system instance.
With a service that supports floating, you specify a pool of eligible system instances and the number of service instances that should be running at any time. If a service instance fails, the system brings up another on one of the system instances in the pool that doesn't already have an instance of that service running.
For services with multiple types, the ability to float can be supported on a per-type basis.
For information on changing the instance pool for a floating service, see Moving and scaling services.
Each service binds to a number of ports and to one type of network, either internal or external. Networking for each service is configured during system installation and cannot be changed once a system is running. For more information, see Networking.
Services can use volumes for storing data. For more information, see Volumes.
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.
Service list
The table below describes the services that your system runs. Each service runs within its own Docker container. For each service, the table lists:
•Configuration settings: The settings you can configure for the service. For information on configuration, see Configuring service settings.
•RAM needed per instance: The amount of RAM that, by default, the service needs on each instance on which it's deployed. For all services except for System services, this value is also the default Docker Container Memory value for the service.
• Number of instances: Shows both:
oThe required number of instances on which a service must run for the system to function properly.
oThe recommended number of instances that you should run a service on. These are recommended minimums; if your system includes more instances, you should take advantage of them by running services on them.
- Whether the service is persistent (that is, it must run on a specific instance) or supports floating (that is, it can run on any instance).
- Whether the service is scalable or not.
Note: For system services, you cannot set the Container Memory size larger than the Max Heap Size setting. For other services, you should not set the Container Memory size larger than the Max Heap Size setting. |
Service name and description | Configuration settings (changes cause the service to redeploy) | Properties | |
Product services: These services perform system functions. You can move and reconfigure these services. | |||
Cassandra
Decentralized database that can be scaled across large numbers of hardware nodes. |
Container Options: Default
|
RAM needed per instance: | 2.4 GB |
Service Options
|
Number of instances: |
Required: 3 Recommended: All |
|
Advanced Options: Compaction Frequency: How often database compaction operations are run. The options are Weekly (default) and Daily. Caution: Changing this setting can negatively affect the service. Use with caution. |
Persistent or floating? | Persistent | |
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Chronos
Job scheduling. |
Container Options: Default
|
RAM needed per instance: | 712 MB |
Service Options
|
Number of instances: |
|
|
Persistent or floating? | Floating | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Elasticsearch
Data indexing and search platform. |
Container Options: Default
|
RAM needed per instance: | 2 GB |
Service Options
|
Number of instances: |
Required: 3 Recommended: All |
|
Persistent or floating? | Persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Kafka
Stream processing platform for handling real-time data streams. |
Container Options: Default
|
RAM needed per instance: | 2 GB |
Service Options
|
Number of instances: |
Required: 3 Recommended: All |
|
Persistent or floating? | Persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Logstash
Collection engine for event data. Can perform transformations on the data it collects and then send that data to a number of outputs. |
Container Options: Default
|
RAM needed per instance: | 700 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: 1 |
|
Persistent or floating? | Floating | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
MAPI Gateway
Serves MAPI endpoints. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: All |
|
Persistent or floating? | Floating | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Metadata Cache
Cache for system metadata. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: 1 |
|
Persistent or floating? | Persistent | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Metadata Coordination
Coordinates the different metadata gateway services, and coordinates metadata partitions. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: 1 |
|
Persistent or floating? | Floating | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Metadata Gateway
Stores and protects metadata and serves it to other services. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 3 Recommended: all |
|
Persistent or floating? | Persistent | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Metadata Policy Engine
Executes asynchronous metadata updates. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: 1 |
|
Persistent or floating? | Floating | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Metrics
Data indexing and search platform. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: All |
|
Persistent or floating? | Persistent | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
S3 Gateway
Serves S3 API endpoints and communicates with storage components. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: All |
|
HTTP Options:
|
Persistent or floating? | Floating | |
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Tracing Agent
Provides end-to-end distributed tracing for S3 API calls and MAPI calls. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: All |
|
Persistent or floating? | Floating | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Tracing Collector
Provides end-to-end distributed tracing for S3 API calls and MAPI calls. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: All |
|
Persistent or floating? | Floating | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
Tracing Query
Provides end-to-end distributed tracing for S3 API calls and MAPI calls. |
Container Options: Default
|
RAM needed per instance: | 768 MB |
Service Options
|
Number of instances: |
Required: 1 Recommended: All |
|
Persistent or floating? | Floating | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | Yes | ||
System services: These services manage system resources and ensure that the system remains available and accessible. These services cannot be moved or reconfigured. | |||
System Management application
The system management application. |
Service Options
|
RAM needed per instance: | N/A |
Number of instances: | N/A | ||
Persistent or floating? | Persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Cluster Coordination
Manages hardware resource allocation. |
N/A | RAM needed per instance: | N/A |
Number of instances: | N/A | ||
Persistent or floating? | Persistent | ||
Supports volume configuration? | No | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Cluster Worker
Receives and performs work from other services. |
N/A | RAM needed per instance: | N/A |
Number of instances: | N/A | ||
Persistent or floating? | Persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Network Proxy
Network request load balancer. |
Security Protocol: Select which TLS versions to use:
|
RAM needed per instance: | N/A |
SSL Ciphers: If you want to provide your own cipher suite, enter it here. | Number of instances: | N/A | |
Custom Global Configuration:Select Enable Advanced Global Configuration to enable adding your own parameters to the HAProxy "global" section. | Persistent or floating? | Persistent | |
Custom Defaults Configuration:Select Enable Defaults Configuration to enable adding your own parameters to the HAProxy "global" section. | Supports volume configuration? | Yes | |
Single or multiple types? | Single | ||
Scalable? | No | ||
Sentinel
Runs internal system processes and monitors the health of the other services. |
Service Options
|
RAM needed per instance: | N/A |
Number of instances: | N/A | ||
Persistent or floating? | persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Service Deployment
Handles deployment of high-level services (that is, the services that you can configure). |
N/A | RAM needed per instance: | N/A |
Number of instances: | N/A | ||
Persistent or floating? | Persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Synchronization
Coordinates service configuration settings and other information across instances. |
Service Options
|
RAM needed per instance: | N/A |
Number of instances: | N/A | ||
Persistent or floating? | Persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Single | ||
Scalable? | No | ||
Watchdog
Monitors the other System services and restarts them if necessary. Also responsible for initial system startup. |
Service Options
|
RAM needed per instance: | N/A |
Number of instances: | N/A | ||
Persistent or floating? | Persistent | ||
Supports volume configuration? | Yes | ||
Single or multiple types? | Yes | ||
Scalable? | No |
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.
Viewing services
You can use System Management application, CLI, and REST API to view the status of all services for the system.
Related topics:
System Management application instructions
To view the status of all services, in the System Management application, click on Services.
For each service, the page shows:
•The service name
•The service state. One of these:
oHealthy — The service is running normally.
oUnconfigured — The service has yet to be configured and deployed.
oDeploying — The system is currently starting or restarting the service. This can happen when:
–You move the service to run on a completely different set of instances.
–You repair a service.
For information on viewing the status service operations, see Monitoring service operations.
oBalancing — The service is running normally, but performing some background maintenance operations.
oUnder-protected — In a multi-instance system, one or more of the instances on which a service is configured to run are offline.
oFailed — The service is not running or the system cannot communicate with the service.
•CPU Usage — The current percentage CPU usage for the service across all instances on which it's running.
•Memory — The current RAM usage for the service across all instances on which it's running.
•Disk Used — The current total amount of disk space that the service is using across all instances on which it's running.
To view the detailed status for an individual service, click on the service on the Services page.
In addition to the information above, the page shows:
•Instances — A list of all instances on which the service is running.
•Volumes — To view a list of volumes used by the service, click on the row for an instance in the Instances section. For more information, see Viewing volumes.
•Network: [Internal|External] — Which network type this service uses to receive communications.
This section also displays a list of the ports that the service uses.
For more information, see Networking.
•Configuration settings — The settings you can configure for the service.
•Service Units — The total number of service units currently being spent to run this service. This value is equal to the service's service unit cost times the number of instances on which the service is running. For more information, see Service units.
•Service unit cost — The number of service units required to run the service on one instance. For more information, see Services.
•Service Instance Types — For services that have multiple types, the types that are currently running.
•Instance Pool — For floating services, the instances that this service is eligible to run on. For more information, see Services.
•Events — A list of all system events for the service.
Related CLI command(s)
getService
listServices
For information on running CLI commands, see CLI reference.
Related REST API method(s)
GET /services
GET /services/{id}
For information on specific REST API methods, in the System Management application, click on the help icon (). Then:
•To view the administrative REST API methods, click on REST API - Admin.
For general information about the administrative REST API, see REST API reference.
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.
Managing services
This section describes how you can reconfigure, restart, and otherwise manage the services running on your system.
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.
Moving and scaling services
You can change a service to run on:
•Additional instances (for example, if you need improved service performance and availability)
•Fewer instances (for example, if you want to free up resources on an instance for running other services)
•A different set of instances (for example, if you are retiring the piece of hardware on which an instance is installed)
For floating services, instead of specifying the specific instances on which the service runs, you can specify a pool of eligible instances, any of which can run the service. For more information, see Services.
When moving or scaling a service that has multiple types, you can simultaneously configure separate rebalancing operations for each type.
•You cannot remove a service from an instance if doing so would cause or risk causing data loss.
•Service relocation operations may take a long time to complete and may impact system performance while they are running.
•Instance requirements vary from service to service. Each service defines the minimum and maximum number of instances on which it can run.
For information on:
•Individual services and the number of instances they should run on, see Service list.
•Monitoring service relocation operations, see Monitoring service operations.
Tip: Use the Available Instances option to have a floating service be eligible to run on any instance in the system, including any new instances added in the future. |
System Management application instructions
To manually configure a service relocation operation, in the System Management application:
1.Click on the Services panel.
2.Click on the service that you want to scale or move.
3.Click on the Scale tab.
4.If the service has more than one type, select the instance type that you want to scale.
5.If the service is a floating service, you are presented with options for configuring an instance pool:
a.In the Service Instances field, specify the number of instances on which the service should be running at any time.
b.Configure the instance pool:
–To have the service run on any instance in the system, select the All Available Instances option.
–With this option, the service can be restarted on any instance, including instances that were added to the system after the service was configured.
–To have the service run on a specific set of instances, deselect the All Available Instances option. Then:
•To remove an instance from the pool, select it from the Instance Pool list on the left. Then click on the Remove Instances button.
•To add an instance to the pool, select it from the Available Instances list on the right. Then click on the Add Instances button.
6.If the service is a non-floating service, you are presented with options for selecting the specific instances that the service should run on. Do one or both of these:
oTo remove the service from the instances it's currently on, select one or more instances in the lefthand list. Then click on the Remove Instances button.
oTo add the service to other instances, select one or more instances from the Available Instances list on the right. Then click on the Add Instances button.
7.Click on the Update button.
The system can check whether your services are currently deployed on the recommended minimum number of instances. If they aren't, the system can configure service scale operations for you.
To have the system do this for you, in the System Management application:
8.Click on the Services panel.
1.Click on the Manage Services button.
2.Click on the Auto Scale option. Then click on the Next button.
The system examines your service layout to ensure that each service is running on the minimum recommended number of instances. If one or more services are not running on enough instances, the system automatically creates scale operations for them.
3.Click on the Update Service button.
Related CLI command(s)
updateServiceConfig
For information on running CLI commands, see CLI reference.
Related REST API method(s)
POST /services/configure
For information on specific REST API methods, in the System Management application, click on the help icon (). Then:
•To view the administrative REST API methods, click on REST API - Admin.
For general information about the administrative REST API, see REST API reference.
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.
Configuring service settings
You can configure settings for some of the services that the system runs. For information on the settings you can configure for each service, see Service list.
For information on adding user-managed volumes to a service that supports them, see Adding volumes to services.
Note: If you make an unwanted change to a service configuration, wait for the operation to finish before creating a new operation to correct the service configuration. |
System Management application instructions
1.Click on the Services panel.
2.Click on the service you want to configure.
3.On the Configuration tab, configure the service.
For information on the settings available for each service, see Service list.
4.Click on the Update button.
Related CLI command(s)
updateServiceConfig
For information on running CLI commands, see CLI reference.
Related REST API method(s)
POST /services/configure
For information on specific REST API methods, in the System Management application, click on the help icon (). Then:
•To view the administrative REST API methods, click on REST API - Admin.
For general information about the administrative REST API, see REST API reference.
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.
Repairing services
If a service becomes slow, unresponsive, or shows a status of Failed, you can run a service operation to repair it. Repairing a service stops and restarts the service on each instance on which it's running.
For information on viewing service health and activity, see Monitoring services.
Important: Depending on which service you're repairing, parts of the system will be unavailable until the repair operation finishes. |
To repair a service:
1.Click on the Services panel.
2.Select the service you want to repair.
3.Click on the Repair button.
Trademarks, Legal disclaimer, Third-party software in this documentation
© 2017 - 2019 Hitachi Vantara Corporation. All rights reserved.