Home

Configuring HBase

To access Rest API the user must have at least read-only access. Cloudera Manager and Ambari support creating a local user via their administration page.

Important

If you have not already done so, make sure you have enough storage for the Elasticsearch index.

  1. Edit /usr/local/unravel/etc/unravel.properties and define the following properties. If a property is not found then add it; be sure to substitute your local value for highlighted text.

    1. You must define

      com.unraveldata.hbase.source.type=source_type
      com.unraveldata.hbase.clusters=comma_separated_cluster_names
    2. You can optionally define

      com.unraveldata.hbase.metric.poll.interval=Minutes
      com.unraveldata.hbase.http.conn.timeout=Seconds
      com.unraveldata.hbase.http.poll.parallelism=Number
      com.unraveldata.hbase.alert.average.threshold=Number
    3. Define the following properties based upon com.unraveldata.hbase.source.type

      • AMBARI or CDH

        You must define:

        com.unraveldata.hbase.rest.url=Ambari_or_Cloudera_base_url
        com.unraveldata.hbase.rest.user=hbase_rest_username
        com.unraveldata.hbase.rest.pwd=hbase_rest_password

        You can optionally define:

        com.unraveldata.hbase.service.name=comma_separated_clustername_and_servicename
        com.unraveldata.hbase.rest.ssl.enabled=true_or_false
        com.unraveldata.hbase.master.port=Port#
        com.unraveldata.hbase.regionserver.port=Port#
        

        Note

        You can define these optionally in the case of a CDP platform.

      • For JMX: you must define the below property for each HBase cluster.

        com.unraveldata.hbase.cluster_name.node.http.apis=comma_separated_base_node_http_api

        Note

        You need NOT define this property in the case of a CDP platform.

  2. Restart the HBase service unravel_sensor_1.

    sudo service unravel_sensor_1 restart
  3. Verify unravel_sensor_1 is running.

    sudo service unravel_sensor_1 status unravel_us_1 is running
  4. Verify the metrics are collected in Elasticsearch.

    A separate index file is created for each week with an alias hb-search, for example, hb-20180813_19.

Troubleshooting
  1. If unravel_sensor_1 is not running check the logs for any errors.

    • /usr/local/unravel/logs/unravel_sensor_1.out

    • /usr/local/unravel/logs/unravel_sensor_1.log

  2. If hb-* index is not created or no data in Elasticsearch, verify the following daemons are running.

    • unravel_sensor_1 (Step 1 above)

    • elasticsearch_1 (elastic service)

    • hitdoc_loader (hitdocloader sevice)

    • kafka (kafka service)

Resources
  • Service name: unravel_sensor_1

  • Service logs: /usr/local/unravel/logs/unravel_sensor_1.log, /usr/local/unravel/logs/unravel_sensor_1.out

  • Configuration file: /usr/local/unravel/etc/unravel.properties

  • Elasticsearch:

    • Template file: /usr/local/unrave/etc/template_hbase_metrics.json

    • Index name: hb-*