Enabling Phoenix operations in HBase

Describes the steps that configure the Phoenix service operations in HBase for your Cloudera Observability On-Premises environment. The properties are added in Cloudera Manager using safety valves, which safely enable the changes to the HBase service.

Steps that enable the Phoenix service for the Cloudera Observability On-Premises environment by safely adding Phoenix properties in the HBase service.
  1. Verify that the ZooKeeper maxClientCnxns property was set to 300. For more information on how to set this configuration property, click the Related Information link below.
  2. In a supported web browser on the Cloudera Observability On-Premises cluster, log in to Cloudera Manager.
  3. In Cloudera Manager, select Clusters, HBase, and then click the Configuration tab.
  4. Search for the HBase Service Advanced Configuration Snippet (Safety Valve) for hbase-site.xml property and do the following:
    1. Above the Name field of the HBase Service Advanced Configuration Snippet (Safety Valve) for hbase-site.xml property, click View as XML.
    2. In the XML field, add the following either before or after the existing XML:
    <property>
       <name>hbase.regionserver.wal.codec</name>
    <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
       <description>Set hbase.regionserver.wal.codec to enable custom Write Ahead Log ("WAL") edits to be written</description>
    </property>
       <property>
    <name>hbase.region.server.rpc.scheduler.factory.class</name>
    <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>
       <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
    </property>
    <property>
       <name>hbase.rpc.controllerfactory.class</name>
    <value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value>
       <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
    </property>
    <property>
      <name>phoenix.functions.allowUserDefinedFunctions</name>
       <value>true</value>
       <description>enable UDF functions</description>
    </property>
    <property>
       <name>phoenix.queryserver.serialization</name>
       <value>JSON</value>
       <description>serialization format between client and query server</description>
    </property>
    <property><name>hbase.server.keyvalue.maxsize</name>
       <value>52428800</value>
       <description>limits max file size for blobs</description>
    </property>
    <property>
       <name>phoenix.schema.isNamespaceMappingEnabled</name><value>true</value>
    </property>
    <property>
       <name>hbase.ipc.server.max.callqueue.size</name>
    <value>2147483648</value>
    </property>
  5. Search for the HBase Client Advanced Configuration Snippet (Safety Valve) for hbase-site.xml property and do the following:
    1. Click View as XML.
    2. In the XML field, add the following either before or after the existing XML:
      <property>
      <name>phoenix.functions.allowUserDefinedFunctions</name>
      <value>true</value>
      </property>
      <property>
      <name>phoenix.schema.isNamespaceMappingEnabled</name>
      <value>true</value>
      </property>
  6. Search for the Write-Ahead Log (WAL) Codec Class property and verify that the property is set to the following value:
    org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
  7. Do the following:
    1. Search for the Maximum Size of HBase Client KeyValue property and set the value to 50 Mib.
    2. Search for the HBase RegionServer Handler Count property and set the value to 40.
    3. Search for the HStore Blocking Store Files property and set the value to 100.
  8. Optional: If you are installing Cloudera Observability On-Premises on a Kerberos environment, search for the HBase Superusers property and verify that the observability user is added.
  9. Click, Save Changes.
  10. Back in the Cloudera Manager Home page, select Clusters, Phoenix, and then click the Configuration tab.
  11. Search for the Query Server Advanced Configuration Snippet (Safety Valve) for phoenix-site.xml property by entering snippet and do the following:
    1. Click View as XML.
    2. In the XML field, add the following either before or after the existing XML:
      <property>
         <name>phoenix.queryserver.serialization</name>
         <value>JSON</value>
         <description>serialization format between client and query server</description>
      </property>
      <property>
         <name>phoenix.schema.isNamespaceMappingEnabled</name>
         <value>true</value>
      </property>
      
    3. Click, Save Changes.
  12. Apply your changes by doing the following:
    1. Back in the Cloudera Manager Home page, select the HBASE service from the Clusters Status page.
    2. From the Actions menu in the HBASE page, select Deploy Client Configuration.
    3. In the Deploy Client Configuration message, confirm deployment by clicking Deploy Client Configuration.
    4. Monitor the progress of the client's configuration deployment until you see the successfully deployed message.
    5. Click Close.
  13. Back in the Cloudera Manager Home page, restart the HBase and Phoenix services by doing one of the following from the Clusters Status page:
    • If no Stale Configuration: Restart needed indicator icon is displayed, do the following:
      1. From the HBase service row, select its vertical ellipses icon, and then select Restart.
      2. Monitor the restart progress until the Successfully restarted service message appears and then click Finish.
      3. Repeat steps a and b for the Phoenix service.
    • If a Stale Configuration: Restart needed indicator icon is displayed, do the following:
      1. From the HBase or Phoenix service row, click the service's Stale Configuration indicator icon.
      2. In the Stale Configurations page, click Restart Stale Services.
      3. In the Restart Stale Services page, select the Re-deploy client configuration check box and click Restart Now.
      4. Monitor the restart progress until the All requested services successfully restarted message appears and then click Finish.