Other’s have commented; I personally have development working locally with 
Eclipse, but it is a bit more work to get going.  The benefit is you don’t have 
to build rpm or even jar - just run locally.  Debugging becomes inline and can 
recompile while the server is running.  Easy.

* Install Vagrant only for use with Ambari’s agents.  This is because the agent 
code is pretty specific to directory locations and linux commands, etc.
* Run Ambari Server locally out of an IDE
* * This requires setting up your local machine with Postgres
* * Setting several values in ambari.properties to reference local directories 
instead of deployed locations.  I have attached the one I use, replace SRC_HOME 
and ETC_HOME appropriately.  (May have some deprecated properties, I don’t 
update it often).
* * Setting database values in the properties file to reference local 
filesystem.
* * When using an IDE, when you start Ambari, add a directory to the classpath 
that has the ETC_HOME directory.
* Have the ability to copy agent python files to vagrant.  I have several 
helper scripts to do this with mapped directories.
* Successfully build ambari-web locally.  UI folks use brunch to ease 
development, for backend it’s enough to build maven.
* Successfully build ambari-views.
* When the UI is loading and installing a clusters, agents should registered 
manually, not bootstrapped.  (openssl directory assumptions don’t match up for 
me and it was just painful)

I’m not sure if this has ever been documented.  If you choose to go this route 
and don’t find any documentation we can get a wiki started for “local 
development.”  To my knowledge only a few have done it this way.  You can PM me 
at [email protected]<mailto:[email protected]> to work through any issues you see 
or setup a hangout to discuss.

Thanks,
Nate

Reply via email to