DIRKRB-719 Enable Phoenix/Presto.
diff --git a/has-project/supports/phoenix/README.md b/has-project/supports/phoenix/README.md
new file mode 100644
index 0000000..05755fb
--- /dev/null
+++ b/has-project/supports/phoenix/README.md
@@ -0,0 +1,30 @@
+Enable Phoenix
+=================
+
+## 1. Use SQLline to connect secure hbase
+```
+sqlline.py <zk_quorum>:<zk_port>:<zk_hbase_path>:<principal>:<keytab_file>
+// An example:
+sqlline.py localhost:2181:/hbase:hbase/localhost@EXAMPLE.COM:/home/hadoop/keytab/hbase.keytab
+```
+
+## 2. Configuring phoenix query server
+
+### Update hbase-site.xml
+add the following properties:
+```
+<property>
+    <name>phoenix.queryserver.kerberos.principal</name>
+    <value>hbase/_HOST@HADOOP.COM</value>
+</property>
+
+<property>
+    <name>phoenix.queryserver.keytab.file</name>
+    <value>/home/hadoop/keytab/hbase.keytab</value>
+</property>
+```
+
+### Start phoenix query server
+```
+queryserver.py start
+```
diff --git a/has-project/supports/presto/README.md b/has-project/supports/presto/README.md
new file mode 100644
index 0000000..244efe6
--- /dev/null
+++ b/has-project/supports/presto/README.md
@@ -0,0 +1,24 @@
+Enable Presto
+================
+
+## 1. Hive Security Configuration
+Update catalog/hive.properties, Add the following properties:
+```
+<!-- Config to connect Kerberized hive metastore -->
+hive.metastore.authentication.type=KERBEROS
+hive.metastore.service.principal=hbase/_HOST@HADOOP.COM
+hive.metastore.client.principal=hbase/_HOST@HADOOP.COM
+hive.metastore.client.keytab=/path/to/hbase.keytab
+
+<!-- Config to connect kerberized hdfs -->
+hive.hdfs.authentication.type=KERBEROS
+hive.hdfs.presto.principal=hbase/_HOST@HADOOP.COM
+hive.hdfs.presto.keytab=/path/to/hbase.keytab
+```
+
+> Note "_HOST" should be replaced with the specific hostname.
+
+## 2. Restart presto server
+```
+/bin/launcher restart
+```
diff --git a/has-project/supports/thrift/README.md b/has-project/supports/thrift/README.md
new file mode 100644
index 0000000..db49d38
--- /dev/null
+++ b/has-project/supports/thrift/README.md
@@ -0,0 +1,70 @@
+Enable Thrift
+================
+
+## 1. Enable HBase thrift2 server
+
+### Update hbase-site.xml
+add the following properties:
+```
+<property>
+  <name>hbase.thrift.keytab.file</name>
+  <value>/etc/hbase/conf/hbase.keytab</value>
+</property>
+<property>
+  <name>hbase.thrift.kerberos.principal</name>
+  <value>hbase/_HOST@HADOOP.COM</value>
+</property>
+```
+
+### Restart HBase
+
+### Start thrift server
+```
+hbase thrift2 start
+```
+
+## 2. Write thrift client application
+Use keytab file to connect thrift server.
+An example of thrift client:
+```Java
+package com.example.thrifttest;
+
+import org.apache.hadoop.hbase.thrift.generated.Hbase;
+import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+import org.apache.thrift.transport.TTransportException;
+import java.io.IOException;
+
+public class Thrifttest {
+    static { 
+        final String principal = "hbase/hostname@HADOOP.COM";
+        final String keyTab = "/etc/hbase/conf/hbase.keytab";
+        try {
+            UserGroupInformation.loginUserFromKeytab(user, keyPath);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private void start()  {
+        try {  
+            TTransport socket = new TSocket("192.168.x.xxx", 9090);
+            TProtocol protocol = new TBinaryProtocol(socket, true, true);
+            Hbase.Client client = new Hbase.Client(protocol);
+        } catch (TTransportException e) {  
+            e.printStackTrace();  
+        } catch (TException e) {  
+            e.printStackTrace();  
+        }
+    }
+
+    public static void main(String[] args) {
+        Thrifttest c = new Thrifttest();
+        c.start();
+    }
+}
+```