Brian, Did you get any further with your Ambari deployment? Hopefully my email was at least some help. I've been on holiday but I'm back online / at work now so please let me know if I can be of further assistance.
Regards Duncan Grant On Fri, 6 Oct 2017 at 14:17 Duncan Grant <duncan.gr...@cloudsoft.io> wrote: > So my screenshot got stripped (obviously) - should be visible here > https://drive.google.com/file/d/0B_7Ae8shGZO_WHIwQzJmWjlEbVk/view?usp=sharing > > > On Fri, 6 Oct 2017 at 13:53 Duncan Grant <duncan.gr...@cloudsoft.io> > wrote: > >> Brian, >> >> It looks like you're right that you need to use the catalog.bom from the >> open PR[1]. I've modified that PR a bit and Thomas has now merged it. >> >> As I mentioned it is also important that you get the security group >> configuration correct. It needs ports 8080 and 22 open to the world (or >> probably more sensibly only open 22 to the ip that brooklyn is running >> on). And it needs all tcp and udp traffic allowed from other members of >> the security group. See the attached screenshot for an example. To open >> all the ports to other nodes in the security group you need to first create >> the security group and then edit it to add those rules. >> >> To get a simple cluster up and running you should now be able to do: >> >> br add-catalog catalog.bom >> >> And then deploy with the following yaml via the yaml editor: >> >> location: >> jclouds:aws-ec2: >> # edit these to use your credential (or delete if credentials >> specified in brooklyn.properties) >> identity: >> credential: >> >> region: us-east-1 >> >> # we want Ubuntu, with a lot of RAM >> osFamily: ubuntu >> minRam: 8gb >> >> services: >> - type: ambari-cluster-application >> >> Hopefully that will get you a working cluster. But, you can't directly >> configure the services you want using that approach. I'll try to explain >> why and give you a couple of options to choose from. (I'm also going to >> have a chat with Thomas about how we should describe all this in the README) >> >> So we've recently been extending brooklyn with karaf. Among other things >> this makes adding blueprints, particularly those with a mix of java and >> yaml, easier and more secure. And at each step someone has helpfully added >> this to the brooklyn-ambari README. But, it's got a bit confusing. >> >> When you use the br add-catalog command you are adding a pre-configured >> version of brooklyn-ambari which also pulls in the jars that it needs. >> When you deploy brooklyn-ambari as above you can only configure the number >> of amp worker nodes. You can't change the HDP services, operating system, >> ram, etc. Modifying the catalog.bom to include the services you want and >> with the correct name of the security group would probably be the best >> place to start. >> >> I think the above is the best approach but I'm going to write up the >> various other alternatives and I'll let you know once I'm done. >> >> Duncan >> >> >> [1] https://github.com/brooklyncentral/brooklyn-ambari/pull/126 >> [image: Screen Shot 2017-10-06 at 13.09.22.png] >> >> >> On Fri, 6 Oct 2017 at 09:57 Thomas Bouron < >> thomas.bou...@cloudsoftcorp.com> wrote: >> >>> Hi Brian. >>> >>> Thanks for the very detailed email/gist, this kind of feedback is very >>> valuable to the community and help us deliver the best possible >>> experience. >>> >>> Regarding your vagrant issues: >>> - downloading the released vagrant version 0.12.0[1] won't work >>> unfortunately. This was released as part of Brooklyn 0.12.0 and contains >>> the bug you mentioned on your first email. We don't re-release under the >>> same version therefore what you need to download is the next SNAPSHOT >>> version available here[2]. This contains the fix I made for the symlink >>> (my >>> apologies, I should have mentioned it to you earlier) >>> - the `bento/centos-7.3` box does work on macOS (I am running macOS >>> myself) >>> We choose this box over the official one for several reasons[3]. The >>> error >>> message I mentioned was present in the logs you provided in your first >>> email. Not sure exactly what is going on here but I cannot reproduce this >>> on my environment unfortunately. >>> >>> Anyhow, swapping you box for `geerlingguy/centos7` is fine as long as it >>> works for you: that's the most important thing! >>> >>> Regarding your brooklyn-ambari issues, I can help you on this. Although, >>> I >>> see that Duncan already jumped in so it is up to you. >>> >>> Best. >>> >>> [1] >>> >>> https://www.apache.org/dyn/closer.lua?action=download&filename=brooklyn/apache-brooklyn-0.12.0/apache-brooklyn-0.12.0-vagrant.tar.gz >>> [2] >>> >>> https://repository.apache.org/service/local/artifact/maven/redirect?r=snapshots&g=org.apache.brooklyn&a=brooklyn-vagrant&v=0.13.0-SNAPSHOT&c=dist&e=tar.gz >>> [3] https://github.com/apache/brooklyn-dist/pull/86 >>> >>> On Thu, 5 Oct 2017 at 20:00 Brian Long <brianbl...@gmail.com> wrote: >>> >>> > Hi all, >>> > >>> > Sorry for the spam -- I'm just getting used to the plain text mailing >>> > list. If you prefer HTML formatting, I've uploaded my message here: >>> > https://gist.github.com/b-long/9156a3696d9c30c14a092fe4b0a01381 >>> > >>> > Thanks, >>> > b-long >>> > >>> > On Thu, Oct 5, 2017 at 3:12 PM, Brian Long <brianbl...@gmail.com> >>> wrote: >>> > > Hi Thomas, >>> > > >>> > > Sorry for my delayed response and thanks for your all of your work. >>> > > >>> > > Vagrant related >>> > > >>> > > I see that the brooklyn-dist PR that you referenced [0] was indeed >>> merged >>> > > and I agree it appears that it would fix the symlink issue I’ve >>> observed. >>> > > However, when I download the Vagrant tar archive, I’m still getting >>> the >>> > same >>> > > MD5 sum that was produced back on September 27th: >>> > > 331ab054e08a0b8c0480621b2f2adfe4 . To download the Vagrant archive, >>> I’m >>> > > using the command found at https://brooklyn.apache.org/#get-started >>> : >>> > > curl -SL --output apache-brooklyn-0.12.0-vagrant.tar.gz >>> > > " >>> > >>> https://www.apache.org/dyn/closer.lua?action=download&filename=brooklyn/apache-brooklyn-0.12.0/apache-brooklyn-0.12.0-vagrant.tar.gz >>> > " >>> > > >>> > > So, this yields a new question about the update process for mirrors. >>> Is >>> > it >>> > > working? Or perhaps I didn’t understand the release model with >>> > > brooklyn-dist. >>> > > >>> > > Anyhow, I still need to apply the fix I mentioned previously >>> (linking and >>> > > restarting the service after vagrant up) [1]. Unfortunately, I’m >>> still >>> > > experiencing issues with the bento/centos-7.3 boxes too, so I’m >>> > continuing >>> > > to change the box variable to geerlingguy/centos7. I appreciate your >>> > help in >>> > > debugging this. You referenced an error message with the text “Could >>> not >>> > > find the X.Org or XFree86 Window System, skipping.” . Is this >>> expected to >>> > > work on macOS? Is there a simple method of testing the integration? >>> > > >>> > > My approach is still working for me, and once the service is running >>> I >>> > can >>> > > access Brooklyn from my host, at http://localhost:8081 . >>> > > >>> > > Deployment related >>> > > >>> > > After getting Brooklyn started, the thing I’m eager to use more than >>> > > anything is Ambari. Here are the steps I’ve done, attempting >>> deployment: >>> > > >>> > > # Install the Brooklyn command line tool >>> > > brew install apache-brooklyn-cli >>> > > >>> > > # Authenticate to Brooklyn >>> > > br login http://localhost:8081/ >>> > > >>> > > # Get the Brooklyn Ambari repo >>> > > git clone https://github.com/brooklyncentral/brooklyn-ambari.git >>> > > >>> > > cd brooklyn-ambari >>> > > >>> > > # Add Ambari to Brooklyn's catalog >>> > > br add-catalog catalog.bom >>> > > >>> > > Next, in AWS, I had to establish my Security Group. I first created a >>> > > security group called test-ambari and opened ports 8080 according to >>> the >>> > > brooklyn-ambari README. This failed, reasonably, since I know Ambari >>> > needs >>> > > 8440 for coordinating agent nodes. In a third or fourth iteration, I >>> saw >>> > an >>> > > error that referenced port 22. At that point, I decided to just open >>> > things >>> > > up a lot wider, in hopes that the networking would get everything >>> working >>> > > properly. My final Security Group, with speculative rules for TCP >>> > > connections from anywhere is the following: >>> > > >>> > > * 8080 # The Ambari web UI >>> > > * 24007 # I saw mention of GlusterFS in the logs >>> > > * 24008 # Again, for GlusterFS >>> > > * 8441 # Ambari Registration and Heartbeat Port >>> > > * 22 # It seems the Brooklyn control machine has to SSH to Ambari >>> > nodes >>> > > * 8440 # Ambari Agent orchestration >>> > > * 2181 # ZooKeeper >>> > > >>> > > Next, from the Brooklyn web UI, I navigate to the Composer / editor >>> and >>> > > enter this YAML: >>> > > >>> > > location: >>> > > jclouds:aws-ec2: >>> > > # edit these to use your credential (or delete if credentials >>> > specified >>> > > in brooklyn.properties) >>> > > identity: <redacted> >>> > > credential: <redacted> >>> > > >>> > > region: us-east-2 >>> > > >>> > > # we want Ubuntu, with a lot of RAM >>> > > osFamily: ubuntu >>> > > minRam: 8gb >>> > > >>> > > # set up this user and password (default is to authorize a public >>> > key) >>> > > user: sample >>> > > password: s4mpl3 >>> > > >>> > > services: >>> > > - type: ambari-cluster-application >>> > > name: Ambari Cluster >>> > > brooklyn.config: >>> > > securityGroup: test-ambari >>> > > initialSize: 3 >>> > > services: >>> > > - FALCON >>> > > - FLUME >>> > > - GANGLIA >>> > > - HBASE >>> > > - HDFS >>> > > - KAFKA >>> > > - KERBEROS >>> > > - MAPREDUCE2 >>> > > - OOZIE >>> > > - PIG >>> > > - SLIDER >>> > > - SQOOP >>> > > - YARN >>> > > - ZOOKEEPER >>> > > >>> > > After clicking the Deploy button, 4 instances are created in AWS. >>> Here’s >>> > a >>> > > screenshot: >>> > > https://drive.google.com/file/d/0B91hmcyKP8SzLTRHcTdTZFkzWG8/view >>> > > >>> > > I can watch, in the Brooklyn UI, that there is communication between >>> the >>> > > Brooklyn Vagrant VM and these EC2 hosts. Screenshot: >>> > > https://drive.google.com/file/d/0B91hmcyKP8SzR0R2bFFDYWhCUk0/view >>> > > >>> > > Eventually, all 3 Ambari agent nodes seem to be in a happy state. >>> > > Unfortunately, the Ambari Server is not: >>> > > >>> > > Screenshot: >>> > > https://drive.google.com/file/d/0B91hmcyKP8SzZzZ1XzF1UmZQZkU/view >>> > > >>> > > Screenshot: >>> > > https://drive.google.com/file/d/0B91hmcyKP8SzYkQ4N1dXeVVnUEU/view >>> > > >>> > > When I attempt to open port 8080 (Ambari web UI) on the Ambari >>> server, >>> > I’m >>> > > receiving an error. Screenshot: >>> > > https://drive.google.com/file/d/0B91hmcyKP8SzUkF2MGJWeFNCNDQ/view >>> > > >>> > > I know that at one point, things were working to a greater degree >>> than I >>> > am >>> > > seeing now. Unfortunately, I don’t recall how I managed to accomplish >>> > that >>> > > (maybe using the newer BOM file from this PR [2] or perhaps it was >>> the >>> > BYON >>> > > / Vagrant nodes). I was, at one point, able to login to Ambari. I >>> found >>> > it >>> > > really great that there was a Brooklyn generated password for the >>> > service. >>> > > As a last ditch effort for today, I did try the former on AWS and >>> didn’t >>> > > have success. >>> > > >>> > > Wrapping up >>> > > >>> > > My team and I need move quickly, and unfortunately, if I can’t get >>> things >>> > > working with Brooklyn soon - I’ll need to change my approach. >>> > > >>> > > I think the Brooklyn team has a very serious opportunity if you can >>> > support >>> > > Ambari. I say that, since I’m not totally satisfied with the job that >>> > > Hortonworks is doing supporting FLOSS deployments of the Hadoop >>> ecosystem >>> > > and Ambari. Presumably, if you can support the baseline, you’ll >>> inherit a >>> > > variety of other services. >>> > > >>> > > Furthermore, since Brooklyn has first-class support for load >>> balancing >>> > and >>> > > resizing, Hadoop users get serious value in being able to scale >>> > workloads. >>> > > The possibility of developing / testing distributed workloads on >>> local >>> > VMs >>> > > is another value not so well supported in the open source. >>> > > >>> > > Lastly, if we could get Apache Ranger working (via an Ambari + >>> Brooklyn >>> > > configuration), then Brooklyn could provide a very rich feature set >>> for >>> > > securing clusters, data, and custom endpoints. Perhaps some other >>> Apache >>> > > folks would be willing to help with this integration? >>> > > >>> > > Thanks for all your help, >>> > > b-long >>> > > >>> > > 0: https://github.com/apache/brooklyn-dist/pull/111 >>> > > 1: https://gist.github.com/b-long/ab096f45a7867574b74f01adff9f6c22 >>> > > 2: https://github.com/brooklyncentral/brooklyn-ambari/pull/126 >>> > >>> -- >>> >>> Thomas Bouron • Senior Software Engineer @ Cloudsoft Corporation • >>> https://cloudsoft.io/ >>> Github: https://github.com/tbouron >>> Twitter: https://twitter.com/eltibouron >>> >>