Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다.
문의사항은 gooper@gooper.com로 메일을
보내주세요.
Cloudera CDH/CDP [Kerberos]병렬 kinit 호출시 cache파일이 손상되어 Bad format in credentials cache 혹은 No credentials cache found 혹은 Internal credentials cache error 오류 발생시
kinit을 병렬로 호출(Oozie workflow에서 병렬 수행등)시 Kerberos cache파일이 손상되어 Bad format in credentials cache등의 오류 발생 할 수 있다. 이는 kinit과정에서 cache 파일을 새로 만드는데 그 과정중에 cache를 읽는 경우 파일이 손상된것을 읽게 되어 오류가 발생할 수 있다.
이런 경우는 kinit을 다음과 같이 수행해서 문제가 있는 경우 retry할 수 있도록 있도록 프로그램에서 고려해줘야 한다.
예시#1) if ! klist -s; then for i in 1 2 3; do kinit $USER@$REALM -k -t $HOME/$USER.keytab && break || sleep 2; done; fi
예시#2) runCnt=0 impala-shell -i servername.com -B --output_delimiter=',' -o ../$NAME/$NAME.csv -f ../$NAME/001.sql while [ $? -ne 0 ] do runCnt=$(($runCnt + 1)) if [ $runCnt -eq 2 ] then exit 1 else impala-shell -i servername.com -B --output_delimiter=',' -o ../$NAME/$NAME.csv -f ../$NAME/001.sql fi done
* 오류 메세지는 경우에 따라 아래와 같이 다양하게 나타날 수 있다. kinit: Failed to store credentials: Internal credentials cache error (filename: /tmp/krb5cc_1645006342) while getting initial credentials kinit: Failed to store credentials: No credentials cache found (filename: /tmp/krb5cc_1645006342) while getting initial credentials kinit: Failed to store credentials: Bad format in credentials cache (filename: /tmp/krb5cc_1645006342) while getting initial credentials