Git Product home page Git Product logo

analytics-cluster's Introduction

analytics-cluster cookbook

This cookbook setup a full Chef Server and Analytics Server environment.

That includes:

  • 1 - Chef Server 12
  • 1 - Analytics Server [Optional]

Additionally you could Activate an Analytics Server. [Optional]

REQUIREMENTS

AWS Config

You MUST configure your ~/.aws/config file like this:

$ vi ~/.aws/config
[default]
region = us-west-2
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_KEY

You also need to create a security_group with the following ports open

Port Protocol Description
10000 - 10003 TCP Push Jobs
443 TCP HTTP Secure
22 TCP SSH
80 TCP HTTP
5672 TCP Analytics MQ
10012 - 10013 TCP Analytics Messages/Notifier

ATTRIBUTES

AWS

Attribute Description
['analytics-cluster']['aws']['key_name'] Key Pair to configure.
['analytics-cluster']['aws']['ssh_username'] SSH username to use to connect to machines.
['analytics-cluster']['aws']['image_id'] AWS AMI.
['analytics-cluster']['aws']['flavor'] Size/flavor of your machine.
['analytics-cluster']['aws']['subnet_id'] Subnet ID of your environment.
['analytics-cluster']['aws']['security_group_ids'] Security Group on AWS.

Chef Server Settings

Attribute Description
['analytics-cluster']['chef-server']['hostname'] Hostname of your Chef Server.
['analytics-cluster']['chef-server']['organization'] The organization name we will create for the Analytics Environment.
['analytics-cluster']['chef-server']['flavor'] AWS Flavor of the Chef Server.

Analytics Settings (Not required)

Attribute Description
['analytics-cluster']['analytics']['hostname'] Hostname of your Analytics Server.
['analytics-cluster']['analytics']['fqdn'] The Analytics FQDN to use for the /etc/opscode-analytics/opscode-analytics.rb.
['analytics-cluster']['analytics']['flavor'] AWS Flavor of the Analytics Server.

Supported Platforms

Chef Server packages are available for the following platforms:

  • EL (CentOS, RHEL) 6 64-bit
  • Ubuntu 12.04, 14.04 64-bit

So please don't use another AMI type.

PROVISION

Install your deps

$ bundle install

Assemble your cookbooks

$ bundle exec berks vendor cookbooks

Create a basic environment

$ cat environments/test.json
{
  "name": "test",
  "description": "",
  "json_class": "Chef::Environment",
  "chef_type": "environment",
  "override_attributes": {
    "analytics-cluster": {
      "id": "my_uniq_id",
      "aws": {
        "key_name": "analytics-test",
        "ssh_username": "ubuntu",
        "image_id": "ami-3d50120d",
        "subnet_id": "subnet-19ac017c",
        "security_group_ids": "sg-cbacf8ae",
        "use_private_ip_for_ssh": true
      },
      "chef-server": {
        "flavor": "c3.xlarge",
        "organization": "my_organization"
      },
      "analytics": {
        "flavor": "c3.xlarge"
      }
    }
  }
}

Run chef-client on the local system (provisioning node)

$ bundle exec chef-client -z -o analytics-cluster::setup_chef_server -E test

Activate Analytics Server

In order to activate Analytics you MUST provision the entire analytics-cluster::setup first. After you are done completely you can execute a second chef-zero like:

$ bundle exec chef-client -z -o analytics-cluster::setup_analytics -E test

That will provision and activate Analytics on your entire cluster.

UPGRADE

In order to upgrade the existing infrastructure and cookbook dependencies you need to run the following steps:

Update your cookbook dependencies

$ bundle exec berks update

Assemble your cookbooks again

$ bundle exec berks vendor cookbooks

LICENSE AND AUTHORS

analytics-cluster's People

Contributors

drrk avatar dsklopp avatar smford22 avatar tas50 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.