복붙노트

[HADOOP] HBase를 + 커버 로스 : 키 탭이 만료에서 UserGroupInformation 로깅?

HADOOP

HBase를 + 커버 로스 : 키 탭이 만료에서 UserGroupInformation 로깅?

우리는 방법 UserGroupInformation.loginUserFromKeytabAndReturnUGI를 사용 (사용자, 키 탭) 원격 HBase를 클러스터에 쓸 수있는 자바 프로그램을 인증합니다. 응용 프로그램을 처음 시작할 때 우리는 모두 좋은과 행복 HBase를 이야기입니다.

예외 서버에 연결하는 동안 발생했습니다 : javax.security.sasl.SaslException은 krb5.conf의 ticket_lifetime 24 시간으로 설정하고, 무슨 일이 24 시간 후에 일어날 것으로 보인다은 "TGT가 만료"우리는이 같은보고 예외를 시작한다는 것입니다 : GSS는 실패 시작하지 [GSSException가에 의해 발생 : 유효한 제공된 자격 증명 (메커니즘 레벨 : 어떤에서 Kerberos TGT를 찾지 못했습니다)]

우리는 다시 로그인 로직이 없습니다. 나는 항상 키 탭에서 로그인하면 그것이 RpcClient에 의해 처리 이후 다시 로그인하는 추가 코드를 작성하는 우리를 필요가 없습니다 생각했다. 그러나 여기 몇 가지 이상한 일이 있습니다 :

우리는 예외를 잡아 checkTGTAndReloginFromKeytab을 (사용) 또는 이런 일을하려고 하는가?

         if (UserGroupInformation.isLoginKeytabBased()) {
            UserGroupInformation.getLoginUser().reloginFromKeytab();
          } else if (UserGroupInformation.isLoginTicketBased()) {
            UserGroupInformation.getLoginUser().reloginFromTicketCache();
          }

어떤 도움에 감사드립니다!

제이슨

해결법

    from https://stackoverflow.com/questions/38213377/hbasekerberos-usergroupinformation-logging-in-from-keytab-expires by cc-by-sa and MIT license