Skip to content
This repository has been archived by the owner on Dec 17, 2021. It is now read-only.

Exhibitor

Joe Hohertz edited this page May 2, 2014 · 4 revisions

HOME > BURI ROLE GUIDE > EXHIBITOR

Exhibitor is a Netflix OSS service providing for the management of an Apache ZooKeeper cluster, including instance monitoring, backup/recovery, cleanup, and visualization.

The role definition uses the S3 configuration provider to provide shared configuration for the cluster. Automatic instance management is also the default for ease of use.

  1. Create Exhibitor S3 bucket
  2. Configure local/site.yml and build AMI
  3. Create IAM role
  4. Create security group
  5. Launch Exhibitor Cluster
## Step 1: Create Exhibitor S3 bucket
  1. Open the AWS S3 console
  2. Click "Create Bucket", provide a name, and ensure you select the correct region where you will deploy Exhibitor.
## Step 2: Configure local/site.yml and build AMI
  1. Edit local/site.yml in your Buri build tree and ensure the following is set as needed:

    exhibitor_opts_s3config: 'your-bucket-for-exhibitor:exhibitor-config'
    exhibitor_opts_s3region: 'us-east-1'
    
  2. Build the AMI for Exhibitor

    ./resnap.sh <base-pvm-ami-ID> exhibitor
    
## Step 3: Create IAM role
  1. In the AWS IAM console left-side menu, click "Roles"

  2. Click "Create New Role"

  3. Give it a name. ("Exhibitor" is suggested)

  4. On the "Select Role Type" screen, click "Select" next to "Amazon EC2"

  5. Click "Custom Policy", then "Select"

  6. Under "Policy Name", give it the same name as in 3rd point of this section.

  7. Under "Policy Document", paste in the file policies/exhibitor.sample from the Buri distribution

  8. Edit the following text in what was pasted, to reflect the S3 bucket you have created for Exhibitor shared config:

      "Resource": [
         "arn:aws:s3:::exhibitor/*",
         "arn:aws:s3:::exhibitor"
       ]
    
  9. Click "Continue" and then "Create Role" to complete creating the IAM role needed by Exihibitor.

## Step 4: Create security group
  1. In the AWS EC2 console left-side menu, under "Network & Security", click "Security Groups"
  2. Click "Create Security Group"
  3. Give it a name. ("Exhibitor" is suggested), and a description, pick VPC if applicable.
  4. Add a rule to allow SSH from the source IPs you wish to administrate from
  5. Add a rule to allow port 8080 from the source IPs you wish to administrate from
  6. Click "Create"
  7. Make note of the security group ID, and edit the inbound rules for the security group again
  8. Add a rule to allow all TCP ports from other members of the security group. (IE: place the ID in the source column)
## Step 5: Launch Exhibitor Cluster
  1. Select the Exhibitor AMI to launch, assign it launch in the zone needed, and ensure it has the IAM role and security group for Eureka applied. You should be able to launch all N nodes of a cluster at once.

  2. Hit the following URL to see status, substituting hostname with one of yours:

    http://ec2-11-11-11-11.compute-1.amazonaws.com:8080
    
  3. Once you see it has settled into status "Running" for all nodes, you zookeeper cluster is fully ready. (May take up to 10 minutes to fully converge)

  4. Note: clusters should generally have an ODD number of nodes in them when not impacted by a downtime.

  5. If the cluster seems to be having problems converging, shut down a few nodes until it settles down, and then bring them back online.

Clone this wiki locally