(Platform Spotlight) Configure HBase Monitoring (Parcel)
Supported versions: See the CDH and CDP Private Cloud Base entries for Pepperdata 8.1.x in the table of Supported Platforms by Pepperdata Version
To configure HBase, add the required properties to the Pepperdata site configuration to enable collecting the HBase filesystem metrics.
If required and not yet configured for the cluster as a whole, enable Kerberos authentication.
If the HTTP service policy for HBase is different than the HTTP service policy for YARN, override the Pepperdata-default setting (pepperdata.agent.hbase.http.policy
) for HBase.
On This Page
- Prerequisites
- Task 1: Configure Pepperdata to Collect HBase Filesystem Metrics
- Task 2: Turn On HBase Monitoring and Configure Ports and Polling
- Task 3: (Different Kerberization for HBase Web UI and Other Cluster Services) Override the Pepperdata-Default Authentication Type for HBase
- Task 4: (Different HTTP Service Policy for HBase YARN) Override the Pepperdata-Default HTTP Service Policy for HBase
Prerequisites
Before you perform any of this procedure’s tasks (Task 1–Task 4), ensure that you know the HBase URL endpoint’s HTTP service policy (HTTPS_ONLY
or HTTP_ONLY
).
You’ll need to know the HTTP service policy when you:
-
Replace the
{your-protocol}
placeholder in the cURL command in Task 3: Override the Pepperdata-Default Authentication Type for HBase. -
Replace the
your-hbase-http-service-policy
placeholder in the XML snippet in Task 4: Override the Pepperdata-Default HTTP Service Policy for HBase.
Task 1: Configure Pepperdata to Collect HBase Filesystem Metrics
To activate Pepperdata—inject the necessary instrumentation—for HBase in a Cloudera Manager configured cluster, add Pepperdata activation environment variables or Java options to each Hadoop service’s configuration options.
Prerequisites
Add the Pepperdata service to Cloudera Manager.
-
(CDH and CDP Private Cloud Base) Typically you’ll have done this during the initial installation procedure (see Add Pepperdata Service to Cloudera Manager).
-
(CDP Public Cloud) The Pepperdata service will have been added when you created the cluster (see Create the Pepperdata-Enabled Cluster).
Procedure
Use Cloudera Manager to add the snippets described in this procedure’s steps.
-
Use Cloudera Manager to add the following snippet to the HBase > Configuration > RegionServer > Java Configuration Options for HBase RegionServer template.
-Dpepperdata.class.transformer=com.pepperdata.supervisor.classpatcherlib.ClassTransformerForHBase -Dpepperdata.class.patching.enabled=true -javaagent:/opt/cloudera/parcels/PEPPERDATA_SUPERVISOR/lib/PepperdataSupervisor.jar
-
Restart the HBase RegionServers daemon on every host in the cluster.
Task 2: Turn On HBase Monitoring and Configure Ports and Polling
Procedure
-
Use Cloudera Manager to add the following snippet to the Pepperdata > Service Wide > Pepperdata Service Advanced Configuration Snippet (Safety Valve) for conf/pepperdata-site.xml template, as an XML block.
<!-- For HBase Filesystem Metrics Collection --> <property> <name>pepperdata.agent.genericJsonFetch.hbase.enabled</name> <value>true</value> </property>
-
(Optional) To use ports and settings other than the defaults, configure any/all of the override properties.
The table shows the default values.
Setting Default Value RegionServer port 16030 RegionServer polling interval 60000 milliseconds (1 minute) HBase Master Server port 16010 HBase Master Server polling interval 60000 milliseconds (1 minute) -
To change the RegionServer port, add the following snippet, for the
pepperdata.agent.hbase.jmx.regionserver.port
property, to the same template (Pepperdata > Service Wide > Pepperdata Service Advanced Configuration Snippet (Safety Valve) for conf/pepperdata-site.xml).<!-- For an HBase Region Server port other than the default Hadoop port (16030) --> <property> <name>pepperdata.agent.hbase.jmx.regionserver.port</name> <value>your-region-server-portnum</value> </property>
-
To change the RegionServer polling interval, add the following snippet, for the
pepperdata.agent.hbase.web.regionservermetrics.monitor.interval
property, to the same template (Pepperdata > Service Wide > Pepperdata Service Advanced Configuration Snippet (Safety Valve) for conf/pepperdata-site.xml).<!-- For an HBase Region Server polling interval other than the default (60000 milliseconds) --> <property> <name>pepperdata.agent.hbase.web.regionservermetrics.monitor.interval</name> <value>your-region-server-polling-interval-in-milliseconds</value> </property>
-
To change the Master Server port, add the following snippet, for the
pepperdata.agent.hbase.jmx.master.port
property, to the same template (Pepperdata > Service Wide > Pepperdata Service Advanced Configuration Snippet (Safety Valve) for conf/pepperdata-site.xml).<!-- For an HBase Master Server port other than the default Hadoop port (16010) --> <property> <name>pepperdata.agent.hbase.jmx.master.port</name> <value>your-master-server-portnum</value> </property>
-
To change the Master Server polling interval, add the following snippet, for the
pepperdata.agent.hbase.web.mastermetrics.monitor.interval
property, to the same template (Pepperdata > Service Wide > Pepperdata Service Advanced Configuration Snippet (Safety Valve) for conf/pepperdata-site.xml).<!-- For an HBase Master Server polling interval other than the default (60000 milliseconds) --> <property> <name>pepperdata.agent.hbase.web.mastermetrics.monitor.interval</name> <value>your-master-server-polling-interval-in-milliseconds</value> </property>
-
-
Navigate back to the cluster view, and for the HBase service, select the Rolling Restart action, and then select only the HBase RegionServers.
Task 3: (Different Kerberization for HBase Web UI and Other Cluster Services) Override the Pepperdata-Default Authentication Type for HBase
Although the HBase Web UI and the remaining cluster services typically use the same authentication mechanism—and therefore by default, Pepperdata assumes that HBase Web UI is Kerberized or not according to whether the YARN services are Kerberized—they can be different. That is, a cluster can be Kerberized for other services, but not for the HBase Web UI, or vice versa (Kerberized HBase Web UI but nothing else Kerberized in the cluster).
Procedure
-
Determine/verify the authentication type for the HBase endpoint by running the following cURL command, where
{your-protocol}
ishttp
orhttps
:curl --tlsv1.2 -kIs {your-protocol}://YOUR_HBASE_HOST:YOUR_PORT/jmx | grep WWW-Authenticate
- If the returned response is
WWW-Authenticate: Negotiate
, the authentication type (your-hbase-auth-type
) iskerberos
. - Otherwise nothing is returned, and the authentication type (
your-hbase-auth-type
) issimple
.
- If the returned response is
-
Use Cloudera Manager to add the following snippet to the Pepperdata > Service Wide > Pepperdata Service Advanced Configuration Snippet (Safety Valve) for conf/pepperdata-site.xml template, as an XML block.
Be sure to substitute the authentication type for the HBase Web UI (
simple
orkerberos
, as indicated by the cURL command’s output in step 1) for theyour-hbase-auth-type
placeholder.<!-- Override for PepAgent authentication for HBase Web UI HTTP endpoints --> <property> <name>pepperdata.agent.hbase.http.authentication.type</name> <value>your-hbase-auth-type</value> </property>
Task 4: (Different HTTP Service Policy for HBase YARN) Override the Pepperdata-Default HTTP Service Policy for HBase
Although HBase and YARN typically use the same HTTP service policy—and therefore by default, Pepperdata assumes that the service policy for HBase is HTTPS_ONLY
or HTTP_ONLY
according to the policy for YARN—they can be different.
That is, HBase might be configured for HTTPS_ONLY
when the HTTP service policy for YARN is HTTP_ONLY
, or vice versa (HTTP_ONLY
for HBase, but HTTPS_ONLY
for YARN).
HTTPS_ONLY
or both are HTTP_ONLY
—skip this task.Procedure
-
Use Cloudera Manager to add the following snippet to the Pepperdata > Configuration > PepAgent > PepAgent Advanced Configuration Snippet (Safety Valve) for conf/pepperdata-site.xml template, as an XML block.
Be sure to substitute the HTTP service policy for HBase (
HTTPS_ONLY
orHTTP_ONLY
) for theyour-hbase-http-service-policy
placeholder.<!-- Override the default HTTP service policy for HBase --> <property> <name>pepperdata.agent.hbase.http.policy</name> <value>your-hbase-http-service-policy</value> </property>