Currently Hadoop relies on Kerberos to do authentication and authorization.
For single user, we can initialize  clients with keytab files in
command-line or Java program.

But sometimes we need to access Hadoop as multiple users. For example, we
build the web service to view users' HDFS files. We have authorization to
get user name and use this user's keytab to login before requesting HDFS.
However, this doesn't work for multiple Hadoop clusters and multiple KDC.

Currently the only way to do that is enable cross-realm for these KDC. But
in some scenarios we can not change the configuration of KDC and want
single process to switch the Kerberos user on the fly without much overhead.

Here is the related discussion in StackOverflow:

   -
   
https://stackoverflow.com/questions/15126295/using-java-programmatically-log-in-multiple-kerberos-realms-with-different-keyta#
   
<https://stackoverflow.com/questions/15126295/using-java-programmatically-log-in-multiple-kerberos-realms-with-different-keyta>
   -
   
https://stackoverflow.com/questions/57008499/data-transfer-between-two-kerberos-secured-cluster
    ,
   -
   
https://stackoverflow.com/questions/22047145/hadoop-distcp-between-two-securedkerberos-clusters
    ,
   -
   
https://stackoverflow.com/questions/39648106/access-two-secured-kerberos-hadoop-hbase-clusters-from-the-same-process

   -
   
https://stackoverflow.com/questions/1437281/reload-kerberos-config-in-java-without-restarting-jvm


Regards

Reply via email to