How to use DBVisualizer to connect to Hbase using Apache Phoenix
How to use DBVisualizer to connect to Hbase using Apache Phoenix
Article
DB Visualizer is a popular free tool that allows developers to organize development tools for RDBMS development. With Apache Phoenix, that allows SQL like capability for Hbase, we can use DBVisualizer to connect to Apache Phoenix layer for HBase.
Verified with following versions.
- DBVisualizer version 9.2.12
- hbase-client-1.1.2.2.3.2.0-2950.jar
- phoenix-4.4.0.2.3.2.0-2950-client.jar
First Add Phoenix driver to DBVisualizer. In DBVisualizer, go to Tools->Driver Manager and add a new driver. Add both hbase-client and phoenix-client jar. This will add a new Phoenix driver.
1. Connecting to Non-Kerberos cluster
To connect to a Non-Kerberos cluster, use jdbc:phoenix:<zookeeper host>:<zookeeper port>:<hbase_z_node> as connection string where hbase_z_node is :/hbase by default.
2. Connecting to Kerberos cluster using cached ticket
To connect to a Kerberos cluster,
a. add following files to DBVisualizer resources directory.
- hdfs-site.xml
- hbase-site.xml
- core-site.xml
b. Copy krb5.conf file to local workstation.
c. Create a jaas file with following entry.
- Client {
- com.sun.security.auth.module.Krb5LoginModule required useTicketCache=true renewTicket=true
- serviceName="zookeeper";};
Modify dbvisgui.bat file to add following parameters for launching DBVisualizer
- -Djava.security.auth.login.config="<path-to-jaas-file>" -Djava.security.krb5.conf="<path-to-krb5-file>"
d. Connection string for cached keytab will be
jdbc:phoenix:<zookeeper host>:<zookeeper port>:/hbase-secure:<path-to-jaas file>
3. Connecting to Kerberos cluster using keytab
a. add following files to DBVisualizer resources directory.
- hdfs-site.xml
- hbase-site.xml
- core-site.xml
b. Copy krb5.conf file to local workstation.
c. copy keytab file use for connecting to Hbase.
d. Create a jaas file with following entry.
- Client {
- com.sun.security.auth.module.Krb5LoginModule
- requireduseTicketCache=false
- useKeytab=true
- serviceName="zookeeper";};
Connection string for this case will be
jdbc:phoenix:<zookeeper host>:<zookeeper port>:/hbase-secure:<Principal>:<path-to-keytab>
Sample connection string
jdbc:phoenix:host0001:2181:/hbase-secure:<principal>:\users\z_hadoop_test.keytab
Test your connection !