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 <[email protected]> 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 <[email protected]> > 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 <[email protected]> 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 <[email protected]> >> 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 >> >
