Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The HBase DAL component uses Apache HBase for storing events (Analytics Record Store), and HDFS (the distributed file system used by Apache Hadoop) for storing index information (Analytics File System). You  have the option of specifying either or both of these implementations in their deployment. For example, you can specify HBase for storing events, and use a relational storage solution for storing index-related information.

The following sections describe both implementations of the HBase DAL component.

...

Info

The HBase datasource does not support pagination or record count. Note that this does not affect the functions of the APIM Analytics, ESB Analytics and IS Analytics dashboards because all the records in these dashboards are indexed, and the record counts are obtained via the Apache Lucene functionality.

Note

It is required that all HBase/HDFS nodes and all DAS nodes are time synced. Utilities such as ntpd could be used for this purpose.

Enabling the HBase datasource provider

In order to use HBase as the record store, the HBase datasource provider should be enabled as follows.

  1. Open the <DAS_HOME>/repository/conf/datasources/analytics-datasources.xml file.  The HBase datasource provider is commented out by default as shown below.

    Code Block
    languagexml
    <!--<provider>org.wso2.carbon.datasource.reader.hadoop.HBaseDataSourceReader</provider>-->
  2. Uncomment the HBase datasource provider as shown below.

    Code Block
    languagexml
    <provider>org.wso2.carbon.datasource.reader.hadoop.HBaseDataSourceReader</provider>

Configurations for the Analytics Record Store

For configuring HBase as the underlying datasource implementation for the Analytics Record Store, specify the HBase configurations in the <DAS_HOME>repository/conf/analytics/analytics-config.xml file as shown in the below example. 

...

PropertyDescription
<implementation>
The implementation class of the Analytics Record Store relevant for HBase, which is org.wso2.carbon.analytics.datasource.hbase.HBaseAnalyticsRecordStore. 
<property name="datasource">
The Carbon datasource name of the type "HBASE", which is used to look up to find the associated HBase data source.

Configurations for the Analytics File System

...

HBase

...

Code Block
languagexml
<analytics-file-system>
    <implementation>org.wso2.carbon.analytics.datasource.hbase.HDFSAnalyticsFileSystem</implementation>
    <properties>
        <!-- the data source name mentioned in data sources configuration -->
        <property name="datasource">WSO2_ANALYTICS_FS_DB_HDFS</property>
    </properties>
</analytics-file-system>

The properties of the above configurations are described below.

PropertyDescription
<implementation>
The implementation class of the Analytics File System relevant for HDFS, which is org.wso2.carbon.analytics.datasource.hbase.HDFSAnalyticsFileSystem.
<property name="datasource">
The Carbon datasource name of the type "HDFS", which is used to look up to find the associated HDFS data source.

Configuring the datasources

You need to define datasources to connect to the above underlying HBase and HDFS implementations as described below. 

Configuring the datasource for the Analytics Record Store 

Change the configurations of the WSO2_ANALYTICS_EVENT_STORE_DB datasource in the <DAS_HOME>/repository/conf/datasources/analytics-datasources.xml file accordingly. For information on the datasource configurations, see Configuring a HBase Datasource.

Configuring the datasource for the Analytics File System datasource

Change the configurations of the WSO2_ANALYTICS_FS_DB datasource in the <DAS_HOME>/repository/conf/datasources/analytics-datasources.xml file accordinglyFor information on the datasource configurations, see Configuring a HDFS Datasource.