News for hackers. Stuff that matters.
Re:Netflix's first OSS project on Github by shykes on Tuesday November 29, 2011 @10:34PM (#3293564)
The lack of proper non-Java support in the Hadoop world is maddening, and Zookeeper is a prime example of this. It's a heterogenous world, people! How many people are missing out on Zookeeper because it lacks proper Python or PHP support?
Re:Netflix's first OSS project on Github by tikhonj on Tuesday November 29, 2011 @11:59PM (#3293800)
Can't you use Hadoop with other JVM languages like Clojure or Scala?

That was my impression, but I haven't used Hadoop for anything nontrivial or in any language but Java, so I don't really know.

Re:Netflix's first OSS project on Github by csears on Wednesday November 30, 2011 @12:22AM (#3293860)
Java is certainly the most common language ZK seems to be used with, but there are client bindings in Python, Perl and quite a few other languages:

https://cwiki.apache.org/confluence/display/ZOOKEEPER/ZKClie...

Re:Netflix's first OSS project on Github by pquerna on Wednesday November 30, 2011 @11:11AM (#3295477)
Yes, they are binding to a C client, include the existing node-zookeeper: https://github.com/yfinkelstein/node-zookeeper

The C client isn't what I would call great, and the API surface is fairly complicated for languages to bind to -- you see many reports about the bindings crashing their respective languages.

I'm currently hacking on a pure-Node.js implementation of the Apache Jute RecrodIO and Apache Zookeeper network protocol: https://github.com/racker/node-zk

The core problem is that Zookeeper is using a deprecated serialization layer as its network protocol. Jute predates Apache Thrift or Apache Avro, and it only has code-gen for C and Java. Ideally Zookeeper would add a second network protocol, one which was either a spec for a nice binary protocol, or a more modern serialization framework like Thrift or Avro, which support many more languages.

The ticket to change out Jute is here: https://issues.apache.org/jira/browse/ZOOKEEPER-102

But no one seems to actively be working on it.

Re:Netflix's first OSS project on Github by nknight on Wednesday November 30, 2011 @04:11AM (#3294364)
The Python bindings are not very robust, don't fit the language well, and have a build process alien to the Python ecosystem. If it's representative of the other non-Java bindings, it's small wonder it doesn't get used by non-Java projects.
Re:Netflix's first OSS project on Github by shykes on Wednesday November 30, 2011 @07:39PM (#3297626)
I second that. At dotCloud we had to pull away from Zookeeper because of the poor quality of the Python (and therefore C) bindings.
Re:Netflix's first OSS project on Github by jswank on Tuesday November 29, 2011 @11:27PM (#3293720)
Nothing to say about Hadoop/Java homogeneity, but a Zookeeper alternative I've been looking at for the same reasons is Dozerd from Heroku (https://github.com/ha).
Re:Netflix's first OSS project on Github by riobard on Tuesday November 29, 2011 @11:45PM (#3293765)
The thinking might be along the line: if you need to use Hadoop at all, you are probably already using Java anyway to maximize single machine performance.
Re:Netflix's first OSS project on Github by true_religion on Wednesday November 30, 2011 @12:26AM (#3293875)
Why Java? Why not C?

Personally, I've never looked to Java as a top performer. It's a middle language---not as expressive as Python, not as fast as C. Even compared to C#, I wouldn't naturally choose Java but I've been forced to because C# wasn't well supported away from a windows' box.

Now adays, I just skip the Java step for CPU intensive work and go to straight C integrated with Python.

Re:Netflix's first OSS project on Github by jbellis on Wednesday November 30, 2011 @01:24PM (#3296097)
Re:Netflix's first OSS project on Github by crabasa on Tuesday November 29, 2011 @10:22PM (#3293526)
Why does the Netflix "Tech" Blog have the word tech in quotes? Is there some irony I'm missing?
Re:Netflix's first OSS project on Github by wollw on Tuesday November 29, 2011 @10:49PM (#3293600)
Probably because it's an informal short form of "Technology." It does seem kind of weird as I'm used to seeing "Tech" used as a word in its own right but it's the likely reason why they did it.