On 5 Jul 2016, at 22:31, David Morel wrote:

On 5 Jul 2016, at 20:43, Benjamin Ross wrote:

Hey David,
Thanks.  Yep - that's the easy part.  Let me clarify.


Consider that we have:
1. A Hadoop cluster running without Kerberos
2. A number of services contacting that hadoop cluster and retrieving data from it using WebHDFS.


Clearly the services don't need to login to WebHDFS using credentials because the cluster isn't kerberized just yet.


Now what happens when we enable Kerberos on the cluster?  We still need to allow those services to contact the cluster without credentials until we can upgrade them.  Otherwise we'll have downtime.  So what can we do?


As a possible solution, is there any way to allow unprotected access from just those machines until we can upgrade them?

I doubt you can enable Kerberos without downtime anyway :) But apart from using Knox as mentioned by Larry (didn't use it so couldn't comment on that and wether it would support some sort of fallback allowing from near-zero downtime), I guess your apps will need support for both Kerberized and non-Kerberized HTTP, which you can drive with some master switch from something appropriate, be it DB or Zookeeper or whatever. In that case working on the client classes/apps and making them support both would be preliminary to anything else. But I may be missing the point again?

David

Actually, looking at the module I pointed to, it uses under the hood the LWP::Authen module that will transparently do that, since the way it works is the server drives the client behaviour. I had forgotten about that, my bad :( So you don't need a switch, just a library that acts according to the spec, and I suspect most languages would have one.

David

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@hadoop.apache.org
For additional commands, e-mail: user-h...@hadoop.apache.org

Reply via email to