Hi all,

I wanted to get your thoughts on how the console is currently architected and 
how we might make it a little more drop in friendly.  Currently the console is 
made up of two parts, the GUI (a Ruby on Rails app) and the Agent (a java app).

The agent is responsible for collecting information on the zookeeper instances, 
controllers, shards, tables and queries.  It also has a bit of code to get some 
metrics from HDFS.  The agent basically sits on a timer asking zookeeper (java 
api), blur (thrift) and HDFS (java api) for its current information and writes 
it to a database (currently set up for mysql but I don't believe the sql is 
mysql specific).

The gui is responsible for displaying the information from the database into 
status pages and metrics pages.  It does have a thrift interface so that it can 
run searches and talk to HDFS.  Again I don't believe that there is mysql 
specific sql going on here, but I can check.  The Rails application does not 
talk to the agent directly, all information sharing is done through the 
database currently.  

As for "installing" the console it requires unpacking the distribution and 
going through a series of steps to configure the database for both sides and to 
configure the agent for how to talk to blur.  Other than the admin creating 
symlinks to the configuration files, this currently has to be done for each 
update of the code.  We have also had the issue of not being able to package 
mysql with the application, so this becomes the responsibility of the person 
setting up the install to go get it and configure it.

I have always wanted this app to have very simple setup or maybe even a full 
install process, but I just didn't get it fully there and wanted to get the 
community's thoughts on how to best do this for the future.

Thanks,
Chris

Reply via email to