Skip to content

evertrue/et_zookeeper-cookbook

Repository files navigation

et_zookeeper cookbook

Wrapper cookbook for SimpleFinance’s zookeeper & exhibitor cookbooks.

In addition to using these cookbooks to install Exhibitor and Zookeeper, this cookbook sets up and enables shared configuration using S3 for Exhibitor, allowing Exhibitor to handle any additional configuration of the Zookeeper ensemble.

Requirements

  • exhibitor

Usage

Include the default recipe in a node’s run list.

If using with the apache_storm cookbook, also ensure role[zookeeper] is included in the run list.

Attributes

Attributes we override in the two base cookbooks:

  • node['zookeeper']['config']['dataDir']
  • node['zookeeper']['config']['initLimit']
  • node['zookeeper']['config']['syncLimit']
  • node['zookeeper']['config']['autopurge.snapRetainCount']
  • node['zookeeper']['config']['autopurge.purgeInterval']
  • node['exhibitor']['version']
  • node['exhibitor']['snapshot_dir']
  • node['exhibitor']['transaction_dir']
  • node['exhibitor']['log_index_dir']
  • node['exhibitor']['cli']['configtype']

Additional attributes provided by this cookbook:

  • node['exhibitor']['s3']['access-key-id'] – The IAM access key ID
  • node['exhibitor']['s3']['access-secret-key'] — The IAM secret access key
  • node['exhibitor']['cli']['s3region'] – AWS region used to communicate w/ S3
  • node['exhibitor']['cli']['s3config'] – S3 bucket & key name for the shared config file
  • node['et_exhibitor']['defaultconfig']['zoo_cfg_extra'] – Additional values used for the initial bootstrap; these are used to seed the S3 config file if it doesn’t already exist

Recipes

default

  1. Sets additional Zookeeper config for Exhibitor to use
  2. Includes exhibitor::default, which itself includes zookeeper::install, to install and set up Zookeeper and Exhibitor
  3. Includes exhibitor::service, to set up and start the Exhibitor service via runit

Author

Author:: EverTrue, Inc. (devops@evertrue.com)