I have been looking at this for 2 days now with no avail... does anyone know why I would be getting a checksum error when I have validated my keys.
I actually deleted my service principals from kdc DB and added them back with a human readable password instead of random key. I regenerated my keytab with those service principal. From namenode, I am able to kinit to the kdc with and without the keytab. However, when I start the namenode, I still get checksum. I even tried a different kdc (older 1.8 instead of new 1.9.1) and received the same exception. It has to be something simple, but I just can't figure it out. If anyone has any ideas please let me know. The latest traces are as follows: Found key for host/rdcesx10030.race.sas....@obsidian.sas.com(23) Found key for host/rdcesx10030.race.sas....@obsidian.sas.com(18) Found ticket for host/rdcesx10030.race.sas....@obsidian.sas.com to go to krbtgt/obsidian.sas....@obsidian.sas.com expiring on Mon Jul 02 00:33:02 EDT 2012 Entered Krb5Context.acceptSecContext with state=STATE_NEW Entered Krb5Context.initSecContext with state=STATE_NEW Found ticket for host/rdcesx10030.race.sas....@obsidian.sas.com to go to krbtgt/obsidian.sas....@obsidian.sas.com expiring on Mon Jul 02 00:33:02 EDT 2012 Service ticket not found in the subject >>> Credentials acquireServiceCreds: same realm Using builtin default etypes for default_tgs_enctypes default etypes for default_tgs_enctypes: 3 1 23 16 17 18. >>> EType: sun.security.krb5.internal.crypto.ArcFourHmacEType >>> CksumType: sun.security.krb5.internal.crypto.RsaMd5CksumType Checksum failed ! >>> EType: sun.security.krb5.internal.crypto.ArcFourHmacEType >>> KrbKdcReq send: kdc=cikdc.unx.sas.com UDP:88, timeout=30000, number of >>> retries =3, #bytes=716 >>> KDCCommunication: kdc=cikdc.unx.sas.com UDP:88, timeout=30000,Attempt =1, >>> #bytes=716 12/07/01 00:33:05 INFO ipc.Server: IPC Server listener on 8020: readAndProcess threw exception javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)]. Count of bytes read: 0 javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)] at com.sun.security.sasl.gsskerb.GssKrb5Server.evaluateResponse(GssKrb5Server.java:159) at org.apache.hadoop.ipc.Server$Connection.saslReadAndProcess(Server.java:1007) at org.apache.hadoop.ipc.Server$Connection.readAndProcess(Server.java:1180) at org.apache.hadoop.ipc.Server$Listener.doRead(Server.java:537) at org.apache.hadoop.ipc.Server$Listener$Reader.run(Server.java:344) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:741) at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:323) at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:267) at com.sun.security.sasl.gsskerb.GssKrb5Server.evaluateResponse(GssKrb5Server.java:137) ... 7 more Caused by: KrbException: Checksum failed at sun.security.krb5.internal.crypto.ArcFourHmacEType.decrypt(ArcFourHmacEType.java:85) at sun.security.krb5.internal.crypto.ArcFourHmacEType.decrypt(ArcFourHmacEType.java:77) at sun.security.krb5.EncryptedData.decrypt(EncryptedData.java:168) at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:268) at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:134) at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:79) at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:724) ... 10 more Caused by: java.security.GeneralSecurityException: Checksum failed at sun.security.krb5.internal.crypto.dk.ArcFourCrypto.decrypt(ArcFourCrypto.java:388) at sun.security.krb5.internal.crypto.ArcFourHmac.decrypt(ArcFourHmac.java:74) at sun.security.krb5.internal.crypto.ArcFourHmacEType.decrypt(ArcFourHmacEType.java:83) ... 16 more Thanks! _____________________________________________ From: Tony Dean Sent: Friday, June 29, 2012 4:50 PM To: 'common-user@hadoop.apache.org' Subject: hadoop kerberos security / unix kdc First, I'd like to thank the community for the time and effort they put into sharing their knowledge... A few weeks back I was able to configure a secure hadoop/hbase cluster (MIT 1.6.1 Kerberos on cluster) using a Windows Domain Controller/AD for the KDC. I'm using hadoop 1.0.3 and hbase 0.92.1-security distributions. Now I am trying setup my own Unix KDC (MIT 1.9.1 Kerberos) against that same cluster. I know the cluster is configured correctly. The only new piece to the puzzle is the Unix KDC. The problem occurs when I start the namenode. It is actually able to login my namenode principal into the KDC just fine. I can see in the namenode main code that the HTTP Server as well as the RPC server has been created successfully. It's in the startTrashEmptier() method where the error occurs. It's like Hadoop is acting as a client and connecting back into itself (hdfs service) when it receives a checksum error: 12/06/29 15:56:13 INFO security.UserGroupInformation: Login successful for user host/rdcesx10030.race.sas....@obsidian.sas.com using keytab file /etc/krb5.keytab 12/06/29 15:56:13 INFO ipc.Server: IPC Server Responder: starting 12/06/29 15:56:13 INFO ipc.Server: IPC Server listener on 8020: starting Found key for host/rdcesx10030.race.sas....@obsidian.sas.com(18) Found key for host/rdcesx10030.race.sas....@obsidian.sas.com(3) Found key for host/rdcesx10030.race.sas....@obsidian.sas.com(16) Found key for host/rdcesx10030.race.sas....@obsidian.sas.com(17) Found key for host/rdcesx10030.race.sas....@obsidian.sas.com(23) Entered Krb5Context.acceptSecContext with state=STATE_NEW >>> EType: sun.security.krb5.internal.crypto.ArcFourHmacEType Checksum failed ! 12/06/29 15:56:13 INFO ipc.Server: IPC Server listener on 8020: readAndProcess threw exception javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)]. Count of bytes read: 0 javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)] at com.sun.security.sasl.gsskerb.GssKrb5Server.evaluateResponse(GssKrb5Server.java:159) at org.apache.hadoop.ipc.Server$Connection.saslReadAndProcess(Server.java:1007) at org.apache.hadoop.ipc.Server$Connection.readAndProcess(Server.java:1180) at org.apache.hadoop.ipc.Server$Listener.doRead(Server.java:537) at org.apache.hadoop.ipc.Server$Listener$Reader.run(Server.java:344) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed) at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:741) at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:323) at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:267) at com.sun.security.sasl.gsskerb.GssKrb5Server.evaluateResponse(GssKrb5Server.java:137) ... 7 more Caused by: KrbException: Checksum failed at sun.security.krb5.internal.crypto.ArcFourHmacEType.decrypt(ArcFourHmacEType.java:85) at sun.security.krb5.internal.crypto.ArcFourHmacEType.decrypt(ArcFourHmacEType.java:77) at sun.security.krb5.EncryptedData.decrypt(EncryptedData.java:168) at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:268) at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:134) at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:79) at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:724) ... 10 more Caused by: java.security.GeneralSecurityException: Checksum failed at sun.security.krb5.internal.crypto.dk.ArcFourCrypto.decrypt(ArcFourCrypto.java:388) at sun.security.krb5.internal.crypto.ArcFourHmac.decrypt(ArcFourHmac.java:74) at sun.security.krb5.internal.crypto.ArcFourHmacEType.decrypt(ArcFourHmacEType.java:83) ... 16 more I think it has something to do with the keys in my keytab. Although, I can kinit into the KDC with all of the principals in my keytab so I don't know what the problem is. I read something (not validated though) that there may be some incompatibility with Hadoop security and MIT 1.9.1. Any insight here would be greatly appreciated. Thanks. Tony Dean SAS Institute Inc. Senior Software Developer 919-531-6704 << OLE Object: Picture (Device Independent Bitmap) >>