This is just a simple example of using a custom JDBC class to connect to an HBase cluster that is secured by kerberos.
import java.sql.*; import java.util.*; public class phoenixTest { public static void main(String args[]) throws Exception { Connection conn; Properties prop = new Properties(); prop.setProperty("zookeeper.znode.parent","hbase-secure"); Class.forName("org.apache.phoenix.jdbc.PhoenixDriver"); System.out.println("getting connection"); conn = DriverManager.getConnection("jdbc:phoenix:zookeeperhost:2181:[email protected]:/etc/security/keytabs/hbase.headless.keytab"); System.out.println("got connection"); try { conn.createStatement().execute("create table dim_member(member_key integer primary key,first_name varchar(40), last_name varchar(40))"); } catch (SQLException e) { e.printStackTrace(); Thread.sleep(5000); } ResultSet rst = conn.createStatement().executeQuery("select * from dim_member"); while (rst.next()) { System.out.println(rst.getString(1) + " " + rst.getString(2)); } System.out.println(conn.createStatement().executeUpdate("delete from dim_member")); conn.rollback(); rst = conn.createStatement().executeQuery("select * from dim_member"); while (rst.next()) { System.out.println(rst.getString(1) + " " + rst.getString(2)); } System.out.println(conn.createStatement().executeUpdate("upsert into dim_member values(1,'Steve','Howard')")); conn.commit(); } }
1 comment for “Phoenix to a secure HBase cluster”