Package org.apache.storm.utils
Class HadoopLoginUtil
- java.lang.Object
-
- org.apache.storm.utils.HadoopLoginUtil
-
public class HadoopLoginUtil extends Object
UserGroupInformation#loginUserFromKeytab(String, String) changes the static fields of UserGroupInformation, especially the current logged-in user, and UserGroupInformation itself is not thread-safe. So it could introduce bugs if it is called multiple times in a JVM process. HadoopLoginUtil.loginHadoop guarantees at-most-once login in a JVM process. This should only be used on the daemon side.
-
-
Constructor Summary
Constructors Constructor Description HadoopLoginUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Subject
loginHadoop(Map<String,Object> conf)
Login if a HDFS keytab/principal have been supplied; otherwise, assume it's already logged in or running on insecure HDFS.
-
-
-
Method Detail
-
loginHadoop
public static Subject loginHadoop(Map<String,Object> conf)
Login if a HDFS keytab/principal have been supplied; otherwise, assume it's already logged in or running on insecure HDFS. This also guarantees that login only happens at most once.- Parameters:
conf
- the daemon conf- Returns:
- the logged in subject or null
-
-