MAPREDUCE服务 MRS-Yarn应用开发规则:多线程安全登录方式

时间:2024-04-07 13:45:04

多线程安全登录方式

如果有多线程进行login的操作,当应用程序第一次登录成功后,所有线程再次登录时应该使用relogin的方式。

login的代码样例:

  private Boolean login(Configuration conf){
     boolean flag = false;
     UserGroupInformation.setConfiguration(conf);
          try {
       UserGroupInformation.loginUserFromKeytab(conf.get(PRINCIPAL), conf.get(KEYTAB));
       System.out.println("UserGroupInformation.isLoginKeytabBased(): " +UserGroupInformation.isLoginKeytabBased());
       flag = true;
     } catch (IOException e) {
       e.printStackTrace();
     }
     return flag;
  }

relogin的代码样例:

public Boolean relogin(){
         boolean flag = false;
         try {
              UserGroupInformation.getLoginUser().reloginFromKeytab();
              System.out.println("UserGroupInformation.isLoginKeytabBased(): " +UserGroupInformation.isLoginKeytabBased());
              flag = true;
         } catch (IOException e) { 
            e.printStackTrace();
         }         
         return flag;     
}
support.huaweicloud.com/devg-rule-mrs/mrs_07_450059.html