diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java index 878f3ca6e7..4a42c0049d 100644 --- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java +++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java @@ -865,22 +865,28 @@ public final class ZKUtil { public static boolean isSecureZooKeeper(Configuration conf) { // Detection for embedded HBase client with jaas configuration // defined for third party programs. - try { - javax.security.auth.login.Configuration testConfig = - javax.security.auth.login.Configuration.getConfiguration(); - if (testConfig.getAppConfigurationEntry("Client") == null - && testConfig.getAppConfigurationEntry( + if (conf.get(HConstants.ZK_CLIENT_KEYTAB_FILE) != null && + conf.get(HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL) + != null) { + + } else { + try { + javax.security.auth.login.Configuration testConfig = + javax.security.auth.login.Configuration.getConfiguration(); + if (testConfig.getAppConfigurationEntry("Client") == null + && testConfig.getAppConfigurationEntry( JaasConfiguration.CLIENT_KEYTAB_KERBEROS_CONFIG_NAME) == null - && testConfig.getAppConfigurationEntry( - JaasConfiguration.SERVER_KEYTAB_KERBEROS_CONFIG_NAME) == null - && conf.get(HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL) == null - && conf.get(HConstants.ZK_SERVER_KERBEROS_PRINCIPAL) == null) { + && testConfig.getAppConfigurationEntry( + JaasConfiguration.SERVER_KEYTAB_KERBEROS_CONFIG_NAME) == null + && conf.get(HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL) == null + && conf.get(HConstants.ZK_SERVER_KERBEROS_PRINCIPAL) == null) { + return false; + } + } catch(Exception e) { + // No Jaas configuration defined. return false; } - } catch(Exception e) { - // No Jaas configuration defined. - return false; } // Master & RSs uses hbase.zookeeper.client.*