Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
HDFS [DataNode]org.apache.hadoop.security.KerberosAuthException: failure to login: for principal: hdfs/datanode03@GOOPER.COM from keytab hdfs.keytab오류
datanode03노드의 DataNode서비스 restart시 org.apache.hadoop.security.KerberosAuthException: failure to login: for principal: hdfs/datanode03@GOOPER.COM from keytab hdfs.keytab와 Caused by: javax.security.auth.login.LoginException: Unable to obtain password from user같은 오류가 발생되면서 start에 실패하는 경우가 있다.
이는 OS에서 "hostname -f"이 보이는 값이 FQDN이 아닌 datanode03로 나오기 때문인데 이경우는 /etc/hosts파일에 동일한 ip에 "xxx.xxx.xxx.xxx datanode03"와 "xxx.xxx.xxx.xxx datanode03.gooper.com"가 등록되어 있으며 "xxx.xxx.xxx.xxx datanode03"먼저 등장하기 때문에 이것을 먼저 인식해서 keytab에 들어있는 principal과 달라서 kerberos인증을 못하고 오류가 발생하는것이다.
그래서 DataNode서비스가 기동하지 못하게 되는것이다.
이러한 경우는 /etc/hosts파일에서 "xxx.xxx.xxx.xxx datanode03"라인을 삭제한다.