You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Lantao Jin (JIRA)" <ji...@apache.org> on 2017/08/01 09:51:08 UTC

[jira] [Updated] (HADOOP-14708) FsckServlet can not create SaslRpcClient with auth KERBEROS_SSL

     [ https://issues.apache.org/jira/browse/HADOOP-14708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lantao Jin updated HADOOP-14708:
--------------------------------
    Attachment: FSCK.log

Attach some logs. I think it can be fix by two options:
# Change the enum {{AuthenticationMethod}} value KERBEROS_SSL(null) to KERBEROS_SSL(AuthMethod.KERBEROS)
# relax the condition in createSaslClient() like
{code}
if (ugi.getRealAuthenticationMethod().getAuthMethod() !=
     AuthMethod.KERBEROS || ugi.getRealAuthenticationMethod() != 
     AuthenticationMethod.KERBEROS_SSL ) {
  return null; // client isn't using kerberos
}
{code}

If any option is ok, I can attach the patch file.

> FsckServlet can not create SaslRpcClient with auth KERBEROS_SSL
> ---------------------------------------------------------------
>
>                 Key: HADOOP-14708
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14708
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: security
>    Affects Versions: 2.7.3, 2.8.1, 3.0.0-alpha3
>            Reporter: Lantao Jin
>         Attachments: FSCK.log
>
>
> FSCK started by xx (auth:KERBEROS_SSL) failed with exception msg "fsck encountered internal errors!"
> FSCK use FSCKServlet to submit RPC to NameNode, it use {{KERBEROS_SSL}} as its {{AuthenticationMethod}} in {{JspHelper.java}}
> {code}
>   /** Same as getUGI(context, request, conf, KERBEROS_SSL, true). */
>   public static UserGroupInformation getUGI(ServletContext context,
>       HttpServletRequest request, Configuration conf) throws IOException {
>     return getUGI(context, request, conf, AuthenticationMethod.KERBEROS_SSL, true);
>   }
> {code}
> But when setup SaslConnection with server, KERBEROS_SSL will failed to create SaslClient instance. See {{SaslRpcClient.java}}
> {code}
> private SaslClient createSaslClient(SaslAuth authType)
>       throws SaslException, IOException {
>       ....
>       case KERBEROS: {
>         if (ugi.getRealAuthenticationMethod().getAuthMethod() !=
>             AuthMethod.KERBEROS) {
>           return null; // client isn't using kerberos
>         }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org