On 11/10/10 16:56, Konstantin Boudnik wrote: > To second your point ;-) Reminds me of times when Sun Micro bought GridEngine > (C-app). Me and a couple other folks were developing Distributed Task > execution > Framework (written in Java on top of JINI). > > Every time new version of eh... Windows was coming around the corner Grid > people were screaming. Guess how easy it was for us ;) >
That said, the only large scale platform people are deploying Hadoop on is Linux, because it's the only one that other people running Hadoop are using. This leads to a bias in bug reports, optimisations and other deployment support. Even though Hadoop does run on other unixes, Windows and OS/X, whoever deploys it at scale gets to find the issues. And if there is some problem where the fix helps you but hurts linux installations, you aren't going to get your patch in. Same for non-Sun JVMs, which is one reason why I stopped using JRockit -the other being Oracle stopped giving the security patches away to developers who weren't paying the fees. Effectively Hadoop is a Linux only application, even there, being in Java has some advantages -no need to recompile the non-native bits for different OS releases. -memory management makes it way, way easier to write applications that don't leak memory. -good cross-platform build, testing and logging tools make it much easier for open source developers to play with. -because you can run test builds on windows, developers whose desktops are Windows can still code and debug locally. This makes it easier to play with hadoop. A C/C++ app would have to commit to an OS -inevitably, Linux- and use their build/test processes. You'd get good OS integration, at the cost of having to do more OS integration testing, and scare off code contributions from anyone who wasn't a C/C++ on Linux developer. And you've have to pick a Linux distribution to work "in". Incidentally, Cos, I hear that Dan Templeton and Tom White were demoing Hadoop on Grid Engine last month. Not seen the slides though. -Steve
