메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


Hadoop Cluster의 인증을 위해서 Windows Server의 Active Directory Kerberos를 사용하는 경우 Active Directory GPO(Goup Policy Object) 설정을 변경해야 하는 경우가 있는데 그 방법과 절차를 기술 한다. (AD Kerberos의 경우 Linux에 설정되어 있는 /etc/krb5.conf의 설정을 적용받지 않음)


1. 상황 : 약 30시간 이상 수행되는 HDFS Replication Job이 "ERROR distcp.DelegationTokenRenewer: Ticket Cache renewal failed", "kinit: Ticket expired while renewing credentials"가 발생하면서 HDFS Replication이 실패함.

2. 원인 파악 : hdfs계정으로 kinit을 하고 klist를 수행해보면 TGT Cache유효기간이 10H, Ticket Renewal lieftime이 10H으로 설정되어 있어 장기간(15H이상) 수행시 Ticket Cache renewal이 실패하면서 전체 Job이 실패하게됨(10H에 바로 fail되지 않은것은 Replication job의 내부 로직상 인증되어 처리가 시작된것은 약 15H까지는 처리를 수행하는것 같음, 15H이 넘어가면 불특정한 시간에 fail됨)

3. 조치 방법 : AD kerberos의 설정값중 다음을 추천값으로 변경해준다. 

 - Maximum lifetime for user ticket : 10H

 - Maximum lifetime for user ticket renewal : 7D

4. 변경방법 : Windows 관리 도구 -> "그룹 정책 관리" 바로가기 아이콘에서 shift+우클릭 후 "다른 사용자로 실행" -> Domain Admins권한이 있는 관리자 계정의 id/pw 를 입력하고 실행한다.

  -> "그룹 정책 개체"에서 Default Domain Policy 우클릭 하여 편집 클릭 

  -> 정책->Windows설정->보안설정->계정정책->Kerberos정책 부분의 값을 적절한 값으로 변경해준다. 

  -> 변경 정책 반영을 위해서 cmd에서 "gpupdate /force"를 반드시 수행해줘야 변경 사항이 반영된다. 

5. hdfs계정으로 kinit을 수행후 klist하여 유효 기간이 원하는 기간으로 설정되어 있는지 확인한다. 


*변경전(cache lifetime 10H, ticket renewal lifetime 10H)

[hadoop@node10:~]$sudo -u hdfs kinit -kt /run/cloudera-scm-agent/process/1546546453-hdfs-DATANODE/hdfs.keytab hdfs/node10.gooper.com@GOOPER.COM

[hadoop@node10:~]$sudo -u hdfs klist

Ticket cache: FILE:/tmp/krb5cc_39998

Default principal: hdfs/node10.gooper.com@GOOPER.COM


Valid starting Expires Service principal

02/27/2024 13:36:16 02/27/2024 23:36:16 krbtgt/GOOPER.COM@GOOPER.COM

renew until 02/27/2024 23:36:16

[hadoop@node10:~]$date

Tue Feb 27 13:36:40 KST 2024


* 변경후(cache lifetime 10H, ticket renewal lifetime 10H)

[hadoop@gooper01:~]$sudo -u hdfs kinit -kt /run/cloudera-scm-agent/process/1546391195-hdfs-DATANODE/hdfs.keytab hdfs/gooper01.gooper.com

[hadoop@gooper01:~]$sudo -u hdfs klist

Ticket cache: FILE:/tmp/krb5cc_39998

Default principal: hdfs/gooper01.gooper.com@GOOPER.COM


Valid starting       Expires              Service principal

03/12/2024 11:23:14  03/12/2024 21:23:14  krbtgt/GOOPER.COM@GOOPER.COM

        renew until 03/19/2024 11:23:14



*참고

 : Maximum lifetime for user ticket renewal이 설정안됨, Maximum lifetime for user ticket이면 kinit수행시 renewal/cache lifetime 10H으로 설정됨.

번호 제목 날짜 조회 수
241 Cloudera가 사용하는 서비스별 포트 2018.03.29 427
240 Cloudera설치중에 "Error, CM server guid updated"오류 발생시 조치방법 2018.03.29 290
239 Cloudera설치중 실패로 여러번 설치하는 과정에 "Running in non-interactive mode, and data appears to exist in Storage Directory /dfs/nn. Not formatting." 오류가 발생시 조치하는 방법 2018.03.29 406
238 각 서버에 설치되는 cloudera서비스 프로그램 목록(CDH 5.14.0의 경우) 2018.03.29 314
237 Impala daemon기동시 "Could not create temporary timezone file"오류 발생시 조치사항 2018.03.29 575
236 [우분투] suppoie 채굴 프로세스 발생시 자동으로 삭제하는 shell프로그램 2018.04.01 568
235 Cloudera Manager web UI의 언어를 한글에서 영문으로 변경하기 2018.04.03 860
234 jupyter, zeppelin, rstudio를 이용하여 spark cluster에 job를 실행시키기 위한 정보 2018.04.13 2643
233 Cloudera Manager 5.x설치시 embedded postgresql를 사용하는 경우의 관리정보 2018.04.13 119
232 beeline으로 접근시 "User: gooper is not allowed to impersonate anonymous (state=08S01,code=0)"가 발생하면서 "No current connection"이 발생하는 경우 조치 2018.04.15 491
231 우분투 16.04LTS에 Jupyter설치 2018.04.17 514
230 Apache Toree설치(Jupyter에서 Scala, PySpark, SparkR, SQL을 사용할 수 있도록 하는 Kernel) 2018.04.17 467
229 CentOS 7.x에 Jupyter설치 2018.04.18 754
228 우분투 16.04LTS에 Zeppelin 0.7.3설치 2018.04.18 436
227 Toree 0.1.0-incubating이 Scala 2.10.4까지만 지원하게 되어서 발생하는 NoSuchMethod오류 문제 해결방법(scala 2.11.x을 지원하지만 오류가 발생할 수 있음) 2018.04.20 223
226 Cloudera의 API를 이용하여 impala의 실행되었던 쿼리 확인하는 예시 2018.05.03 568
225 Impala의 Queries탭에서 여러조건으로 쿼리 찾기 2018.05.09 1116
224 Hue Job Browser의 Queries탭에서 조건을 지정하는 방법 2018.05.10 329
223 crypto관련 기생충 박멸 스크립트 2018.05.11 1421
222 tar를 이용한 리눅스 백업 2018.05.13 343
위로