I am trying to configure Spring XD on Cloudera.
Spring is working fine when I am trying to save the data in my local machine but when I am trying to store data in HDFS, I am getting the error:
2015-07-20T13:05:08-0500 WARN Spring Shell o.a.h.i.Client:675 - Exception encountered while connecting to the server : java.lang.IllegalArgumentException: Server has invalid Kerberos principal: hdfs/bdr3cdh5node1.nj.us.eld.ericsson.se@NJ.US.ELD.ERICSSON.SE
ls: Failed on local exception: java.io.IOException: java.lang.IllegalArgumentException: Server has invalid Kerberos principal: hdfs/bdr3cdh5node1.nj.us.eld.ericsson.se@NJ.US.ELD.ERICSSON.SE; Host Details : local host is: "bdr3cdh5node1.nj.us.eld.ericsson.se/18.104.22.168"; destination host is: "bdr3cdh5node1.nj.us.eld.ericsson.se":8020;
I've already gone through the solutions provided in other forums. Please let me know how should I proceed.
Please try to regenerate your kerberos principal.
Administration --> Security --> Kerberos Credentials --> (select hdfs/bdr3cdh5node1.nj.us.eld.ericsson.se@NJ.US.ELD.ERICSSON.SE) --> Regenerate Selected
The "Server Has An Invalid Principal" can occur at times for a few reasons, but many times it can happen in a kerberos cross-realm trust between two realms where the client is in one realm connecting to a cluster in another realm.
On the client side, you can add the following property to bypass:
Or, make sure the following is set in your client's hdfs-site.xml:
I haven't coded with Spring XD, so I'm not entirely sure how to have the property set via Spring...