12. Configure Apache Phoenix

To enable global indexing and (optionally) local indexing in Phoenix, complete the following steps.

  1. Add the following property to the hbase-site.xml file on all HBase nodes, the Master Server, and all Region servers, to prevent deadlocks from occurring during maintenance on global indexes:

    </property>
     <name>hbase.region.server.rpc.scheduler.factory.class</name>
     <value>org.apache.phoenix.hbase.index.ipc.
        PhoenixIndexRpcSchedulerFactory</value>
     <description>Factory to create the Phoenix RPC Scheduler that knows to put index
     updates into index queues</description>
    </property> 
  2. (Optional) To use local indexing, set the following two properties. These properties ensure collocation of data table and local index regions:

    [Note]Note

    The local indexing feature is a technical preview and considered under development. Do not use this feature in your production systems. If you have questions regarding this feature, contact Support by logging a case on our Hortonworks Support Portal at http://hortonworks.com/support/.

    </property>
     <name>hbase.master.loadbalancer.class</name>
     <value>org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer</value>
    </property>
     
    </property>
     <name>hbase.coprocessor.master.classes</name>
     <value>org.apache.phoenix.hbase.index.master.IndexMasterObserver</value>
    </property>
  3. Restart the HBase Master and Region Servers.

Configuring Phoenix to Run in a Secure Cluster

Perform the following additional steps to configure Phoenix to run in a secure Hadoop cluster:

  1. To link the HBase configuration file with the Phoenix libraries:

    ln -sf HBASE_CONFIG_DIR/hbase-site.xml PHOENIX_HOME/bin/hbase-site.xml

  2. To link the Hadoop configuration file with the Phoenix libraries:

    ln -sf HADOOP_CONFIG_DIR/core-site.xml PHOENIX_HOME/bin/core-site.xml

[Note]Note

When running the pssql.py and sqlline.py Phoenix scripts in secure mode, you can safely ignore the following warnings.

14/04/19 00:56:24 WARN util.NativeCodeLoader: 
Unable to load native-hadoop library for your platform... 
  using builtin-java classes where applicable
 
14/04/19 00:56:24 WARN util.DynamicClassLoader: Failed to identify the fs of 
dir hdfs://<HOSTNAME>:8020/apps/hbase/data/lib, ignored java.io.IOException: 
No FileSystem for scheme: hdfs

loading table of contents...