hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Bacsko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-14982) Clients using FailoverOnNetworkExceptionRetry can go into a loop if they're used without authenticating with kerberos in HA env
Date Thu, 26 Oct 2017 16:51:00 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-14982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16220762#comment-16220762
] 

Peter Bacsko commented on HADOOP-14982:
---------------------------------------

Thanks [~daryn], will modify the patch accordingly.

> Clients using FailoverOnNetworkExceptionRetry can go into a loop if they're used without
authenticating with kerberos in HA env
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-14982
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14982
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: common
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>         Attachments: HADOOP-14892-001.patch
>
>
> If HA is configured for the Resource Manager in a secure environment, using the mapred
client goes into a loop if the user is not authenticated with Kerberos.
> {noformat}
> [root@pb6sec-1 ~]# mapred job -list
> 17/10/25 06:37:43 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm36
> 17/10/25 06:37:43 WARN ipc.Client: Exception encountered while connecting to the server
: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid
credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
> 17/10/25 06:37:43 INFO retry.RetryInvocationHandler: java.io.IOException: Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused
by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos
tgt)]; Host Details : local host is: "host_redacted/IP_redacted"; destination host is: "com.host2.redacted:8032;
, while invoking ApplicationClientProtocolPBClientImpl.getApplications over rm36 after 1 failover
attempts. Trying to failover after sleeping for 160ms.
> 17/10/25 06:37:43 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm25
> 17/10/25 06:37:43 INFO retry.RetryInvocationHandler: java.net.ConnectException: Call
From host_redacted/IP_redacted to com.host.redacted:8032 failed on connection exception: java.net.ConnectException:
Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused,
while invoking ApplicationClientProtocolPBClientImpl.getApplications over rm25 after 2 failover
attempts. Trying to failover after sleeping for 582ms.
> 17/10/25 06:37:44 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm36
> 17/10/25 06:37:44 WARN ipc.Client: Exception encountered while connecting to the server
: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid
credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
> 17/10/25 06:37:44 INFO retry.RetryInvocationHandler: java.io.IOException: Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused
by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos
tgt)]; Host Details : local host is: "host_redacted/IP_redacted"; destination host is: "com.host2.redacted:8032;
, while invoking ApplicationClientProtocolPBClientImpl.getApplications over rm36 after 3 failover
attempts. Trying to failover after sleeping for 977ms.
> 17/10/25 06:37:45 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm25
> 17/10/25 06:37:45 INFO retry.RetryInvocationHandler: java.net.ConnectException: Call
From host_redacted/IP_redacted to com.host.redacted:8032 failed on connection exception: java.net.ConnectException:
Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused,
while invoking ApplicationClientProtocolPBClientImpl.getApplications over rm25 after 4 failover
attempts. Trying to failover after sleeping for 1667ms.
> 17/10/25 06:37:46 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm36
> 17/10/25 06:37:46 WARN ipc.Client: Exception encountered while connecting to the server
: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid
credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
> 17/10/25 06:37:46 INFO retry.RetryInvocationHandler: java.io.IOException: Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused
by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos
tgt)]; Host Details : local host is: "host_redacted/IP_redacted"; destination host is: "com.host2.redacted:8032;
, while invoking ApplicationClientProtocolPBClientImpl.getApplications over rm36 after 5 failover
attempts. Trying to failover after sleeping for 2776ms.
> 17/10/25 06:37:49 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm25
> 17/10/25 06:37:49 INFO retry.RetryInvocationHandler: java.net.ConnectException: Call
From host_redacted/IP_redacted to com.host.redacted:8032 failed on connection exception: java.net.ConnectException:
Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused,
while invoking ApplicationClientProtocolPBClientImpl.getApplications over rm25 after 6 failover
attempts. Trying to failover after sleeping for 1055ms.
> 17/10/25 06:37:50 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm36
> 17/10/25 06:37:50 WARN ipc.Client: Exception encountered while connecting to the server
: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid
credentials provided (Mechanism level: Failed to find any Kerberos tgt)]
> 17/10/25 06:37:50 INFO retry.RetryInvocationHandler: java.io.IOException: Failed on local
exception: java.io.IOException: javax.security.sasl.SaslException: GSS initiate failed [Caused
by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos
tgt)]; Host Details : local host is: "host_redacted/IP_redacted"; destination host is: "com.host2.redacted:8032;
, while invoking ApplicationClientProtocolPBClientImpl.getApplications over rm36 after 7 failover
attempts. Trying to failover after sleeping for 2608ms.
> ...
> {noformat}
> The reason is that the retry handler sees a {{ConnectException}}, then fails over to
the inactive RM. This obviously doesn't work, so it comes back to the active and whole process
starts again. The RetryHandler should examine if the {{ConnectException}} is actually caused
by a {{GSSException}} (and probably check the "No valid credentials provided" message) and
if so, it should not perform a failover.



--
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


Mime
View raw message