Datanode can't connect to the namenode after enabling kerberos
Hello Everyone,
I've recently enabled Kerberos in my cluster and since then one of my datanodes is not able to connect to the namenode:
I see these entries in the namenode logs:
2021-02-03 12:06:15,699 INFO ipc.Server (Server.java:saslProcess(1573)) - Auth successful for $4E8100-MH1MCLUV65LO@<Realm-Name> (auth:KERBEROS)
2021-02-03 12:06:15,700 INFO ipc.Server (Server.java:authorizeConnection(2235)) - Connection from <datanode-ip>:42328 for protocol org.apache.hadoop.hdfs.server.protocol.DatanodeProtocol is unauthorized for user dn/<datanode-hostname>@<Realm-Name> (auth:PROXY) via $4E8100-MH1MCLUV65LO@<Realm-Name> (auth:KERBEROS)
2021-02-03 12:06:15,700 INFO ipc.Server (Server.java:doRead(1006)) - Socket Reader #1 for port 8020: readAndProcess from client <datanode-ip> threw exception [org.apache.hadoop.security.authorize.AuthorizationException: User: $4E8100-MH1MCLUV65LO@<Realm-Name> is not allowed to impersonate dn/<datanode-hostname>@<Realm-Name>]
From the datanode logs:
2021-02-03 12:14:33,806 WARN datanode.DataNode (BPServiceActor.java:retrieveNamespaceInfo(225)) - Problem connecting to server: <namenode-hostname>/<namenode-ip>:8020
I've ensured that the hostnames are in lowercase and consistent in all the nodes.
Telnet is also happening from the datanode to namenode hostname on 8020 port.
Regenerating Keytabs and restarting everything also didn't work.
Any other areas to look into?
Thanks,
Megh

