Brian Bockelman wrote:
;) Unfortunately, I'm going to go out on a limb and guess that we don't want to add OpenGL to the dependency list for the namenode... The viz application actually doesn't depend on the namenode, it uses the datanodes.

Here's the source:
svn://t2.unl.edu/brian/HadoopViz/trunk

The server portion is a bit hardcoded to our site (simply a python server); the client application is pretty cross-platform. I actually compile and display the application on my Mac.

Here's how it works:

1) Client issues read() request
2) Datanode services it.  Logs it with log4j
3) One of the log4j appenders is syslog pointing at a separate server
4) Separate log server recieves UDP packets; one packet per read()
5) Log server parses packets and decides whether they are within the cluster or going to the internet - Currently a Pentium 4 throw-away machine; handles up to 4-5k packets per second before it starts dropping 6) Each client opens a TCP stream to the server and receives the transfer type, source, and dest, then renders appropriately

It's pretty danged close to real-time; the time the client issues the read() request to seeing something plotted is on the order of 1 second.

I'd really like to see this on a big (Yahoo, Facebook, any takers?) cluster.

Brian



Ok, so this is really an example of a datacentre back-end for Log4J, pushing out UDP packets to something else in the datacentre. A nice side-line to the classic hadoop management displays. Add something about jobs executing and you are laughing. Do it all in Java3D and you even have cross platformness

Reply via email to