Created on 02-24-2016 12:37 PM
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.
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.
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.
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 !
Created on 05-20-2016 04:15 PM
@Shishir Saxena I followed your instructions [Connecting to Kerberos cluster using keytab] on connecting to Phoenix through Db Visualizer for kerberos enabled cluster. Connection is getting timed out with below error message. Any suggestions? Thanks in advance.
An error occurred while establishing the connection: Long Message: callTimeout=600000, callDuration=620131: Details: Type: org.apache.phoenix.exception.PhoenixIOException Error Code: 101 SQL State: 08000
Created on 03-06-2017 09:08 PM
Point #2 of connecting DBVisualizer (or any tool) to Phoenix with Kerberos using a Ticket Cache does not work.
The Phoenix JDBC url does not support a JAAS configuration file as an argument and, even if it did, Phoenix does not support automated Kerberos logins via JAAS. This suggestion is wrong.
Created on 07-17-2018 07:35 PM
Created on 07-28-2018 09:33 AM
@Shishir Saxena I also followed your instruction No. 3 [Connectting to Kerberos cluister using keytab] on connecting to Phoenix. But failed, my version is hdp 2.6.4, can you show more details? thank u so much.