warden.<servicename>.conf

Describes the service configuration files that Warden supports.

The warden.conf configuration file is associated with the standard services that are provided by MapR. Warden supports service monitoring for additional services.

Each of these supported services requires a configuration file, warden.<servicename>.conf, which is included with the package for that service. When you install any of these service packages, its corresponding configuration file is stored in /opt/mapr/conf/conf.d. The configuration files and their packages are as follows:

collectd
Configuration File: warden.collectd.conf
Description: Installed with the mapr-collectd package. This package is supported only for internal MapR Monitoring uses cases.
drill
Configuration File: warden.drill-bits.conf
Description: Installed with the mapr-drill package.
elasticsearch
Configuration File: warden.elasticsearch.conf
Description: Installed with the mapr-elasticsearch package. This package is supported only for internal MapR Monitoring uses cases.
fluentd
Configuration File: warden.fluentd.conf
Description: Installed with the mapr-fluentd package. This package is supported only for internal MapR Monitoring uses cases.
gateway
Configuration File: warden.gateway.conf
Description: Installed with the mapr-gateway package.
grafana
Configuration File: warden.grafana.conf
Description: Installed with the mapr-grafana package. This package is supported only for internal MapR Monitoring uses cases.
hue
Configuration File: warden.hue.conf
Description: Installed with the mapr-hue package.
httpfs
Configuration File: warden.httpfs.conf
Description: Installed with the mapr-httpfs package.
hbase thrift server
Configuration File: warden.hbasethrift.conf
Description: Installed with the mapr-hbasethrift package.
hbase rest gateway
Configuration File: warden.hbase-rest.conf
Description: Installed with the mapr-hbase-rest package.
historyserver
Configuration File: warden.historyserver.conf
Description: Installed with the mapr-historyserver package.
hive metastore
Configuration File: warden.hivemeta.conf
Description: Installed with the mapr-hivemetadata package.
hiveserver2
Configuration File: warden.hs2.conf
Description: Installed with the mapr-hiveserver2 package.
kibana
Configuration File: warden.kibana.conf
Description: Installed with the mapr-kibana package. This package is supported only for internal MapR Monitoring uses cases.
nodemanager
Configuration File: warden.nodemanager.conf
Description: Installed with the mapr-nodemanager package.
oozie
Configuration File: warden.oozie.conf
Description: Installed with the mapr-oozie package.
opentsdb
Configuration File: warden.opentsdb.conf
Description: Installed with the mapr-opentsdb package. This package is supported only for internal MapR Monitoring uses cases.
resourcemanager
Configuration File: warden.resourcemanager.conf
Description: Installed with the mapr-resourcemanager package.
sentry
Configuration File: warden.sentry.conf
Description: Installed with the mapr-sentry package. However, Sentry is not automatically monitored by the Warden. When Sentry is configured to use the database storage model, you can manually copy the /opt/mapr/sentry/sentry-<version>/conf.d/warden.sentry.conf file to the /opt/mapr/conf/conf.d directory to add Sentry to the list of services that the Warden monitors.
spark master
Configuration File: warden.spark-master.conf
Description: Installed with the spark-master package.

Configuring Service Properties

You can configure the following properties in the warden.<servicename>.conf file:

services
Description: Service name and number of nodes this service should run on, along with service dependencies. Format is serviceName:N[depServiceName].Values for N = 1 or all
service.alarm.label
Description: Specifies the alarm name for this service. This is the alarm name that appears in the CLI when you do not request a terse output. Once tWarden starts the service, you cannot edit this value.
service.alarm.tersename
Description: Specifies the abbreviated alarm name for this service. This is the alarm name that appears in the MCS. Once Warden starts the service, you cannot edit this value.
service.command.monitor
Description: Monitor string (if the service monitor command does not provide sufficient monitoring).
service.command.monitorcommand
Description: Specifies a command that checks whether the service is running.
service.command.start
Description: Service start command.
service.command.stop
Description: Service stop command.
service.command.type
Description: Indicates whether the script runs in background (and exits) or inline (script does not exit). Type is either BACKGROUND or INLINE.
service.depends.local
Description: Indicates whether the service depends on a service instance locally, or on the master. Values = 1 (local) or 0 (master).
service.displayname
Description: The name of the service to display.
service.env
Description: Specifies environment variables to be use by the service. By default, it may include MAPR_MAPREDUCE_MODE=default. You can include a comma-separated list of environment variables. For example, service.env=MAPR_MAPREDUCE_MODE=default,ABC=1,XYZ=2.
service.heapsize.max
Description: Maximum heapsize in MB.
service.heapsize.min
Description: Minimum heapsize in MB.
service.heapsize.percent
Description: Specifies heapsize percent.
service.logs.location
Description: Location of the service log files.
service.port
Description: Port where the service is running (for example, the hue webserver runs on port 8888).
service.process.type
Description: Specifies the type of process.

For example, service.process.type=JAVA indicates that the process is a Java process.

service.uri
Description: To include a link to a user interface associated with this service in the MCS, enter a Uniform Resource Identifier (URI) in this property, and specify the port in the service.ui.port property. For example, enter /service1 for this property and then enter 8080 in the service.ui.port property to provide the following UI link for this service in the MCS: http://<hostname>:8080/service1
service.uri.port
Description: If you want to include a link to the user interface associated with this service in the MCS, enter the port in this property and also specify the URI in the service.uri property.

Memory Management for Services

The following memory parameters are used to reserve memory for the service:

  • The service.<servicename>.heapsize.percent parameter controls the percentage of system memory allocated to the named service.

  • The service.<servicename>.heapsize.max parameter defines the maximum heapsize used when invoking the service.

  • The service.<servicename>.heapsize.min parameter defines the minimum heapsize used when invoking the service.

For example, the service.command.gateway.heapsize.percent, service.command.gateway.heapsize.max, and service.command.gateway.heapsize.min parameters in the warden.gateway.conf file control the amount of memory that Warden allocates to the gateway service before allocating memory to other services.

The actual heap size used when invoking a service is a combination of the three parameters according to the formula max(heapsize.min, min(heapsize.max, total-memory * heapsize.percent / 100)).

warden.hs2.conf Example

The hiveserver2 configuration file, warden.hs2.conf, looks like this:

services=hs2:1
service.displayname=HiveServer2
service.command.start=/opt/mapr/hive/hive-0.13/bin/hive --start --service hiveserver2
service.command.stop=/opt/mapr/hive/hive-0.13/bin/hive --stop --service hiveserver2
service.command.type=BACKGROUND
service.command.monitorcommand=/opt/mapr/hive/hive-0.13/bin/hive --status --service hiveserver2
service.port=9083
service.ui.port=9083
service.uri=about
service.logs.location=/tmp/mapr
service.process.type=JAVA

When hiveserver2 is installed, the warden.hs2.conf file is placed in the directory /opt/mapr/conf/conf.d. If Warden is running, it detects the file and starts the service. If Warden is not running, the file is picked up when Warden starts. Warden monitors the service and displays the status on the MapR Control System UI.