Hi Nate - thanks a lot for the response. I guess the peculiar thing for a newcomer to Ambari is that running the server seems to involve the same process, whether you’re a developer hacking on source or an end user installing from a deb/apt package. This is to say, that running the server generally requires installing an apt/deb package. There doesn’t appear to be a straightforward way to just clone the source and start the thing, as is typical, even with the basic dependencies like Postgres in place.
So that all said, what’s the process for running locally? I actually tried this previously (on OS X) using some pointers and properties from Jonathan Hurley, but the server just didn’t seem to run very well, and I got the sense that despite using platform independent technologies, that this project just wasn’t really setup to run outside of a platform specific deb/apt install. I’d love to run locally though, and to help enhance things in that area. But to start, do you have any specific pointers/resources you can share towards addressing each of the bullet points you highlighted? If it makes sense to start throwing this stuff on the wiki, please feel free. Cheers, Jonathan From: Nate Cole <[email protected]<mailto:[email protected]>> Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Date: Friday, June 26, 2015 at 6:18 AM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: Re: Dev workflow 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
