Example: Run application for the Phoenix thick client

Checking the example of how to run a maven application for the Phoenix thick client gives you better understanding about how to run your own application for the Phoenix thick client.

The requiredKerberos option is set to true for the Phoenix thick client. This means that the application must be run for this client from a computer which:
  • Has internal network access to the VPC in which the database is deployed in
  • Can resolve the internal hostnames of the database
  • Can obtain a Kerberos ticket from the database's KDC

One of the methods to run traditional Phoenix thick client applications is to launch an edge node in your cloud provider which meets the above requirements.

  1. Use the JDBC URL from the describe-client-connectivity command to run the example.
    One method is to build on your local machine and copy the JAR files to the remote node:
    $ scp -r target ec2-user@my-ec2-bastion-host.us-west-2.compute.amazonaws.com:
    $ scp clientConfig.zip ec2-user@my-ec2-bastion-host.us-west-2.compute.amazonaws.com:
    $ ssh ec2-user@my-ec2-bastion-host.us-west-2.compute.amazonaws.com "sudo yum install -y java-1.8.0-openjdk"
  2. Ensure that you have a Kerberos ticket and run your application for the Phoenix thick client
     kinit username
    $ java -cp target/sql-libs/*:target/sql-exemplar-0.0.1-SNAPSHOT.jar:hbase-conf com.cloudera.odx.sql.Client "<phoenix_thick_jdbc_URL>"