Zookeeper Cookbook

Chef cookbook for installing and managing Zookeeper.
Alternatives To Zookeeper Cookbook
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
10 months ago2mitRuby
A tool for keeping track of nodes in your infrastructure
2 months ago7apache-2.0Ruby
Development repository for the kafka cookbook
Zookeeper Cookbook81
a year ago1apache-2.0Ruby
Chef cookbook for installing and managing Zookeeper.
3 months ago1apache-2.0Ruby
Cookbook to install Hadoop 2.0+ using Chef
3 years agoapache-2.0Ruby
A set of Chef recipes for installing and configuring Apache Kafka.
4 years ago7apache-2.0Ruby
A Kafka Cookbook for Chef
Chef Solrcloud21
7 years ago9apache-2.0Ruby
Chef cookbook to Manage Apache Solr
Zookeeper Cookbook18
6 years ago3otherRuby
A set of Chef recipes for installing and configuring Apache Zookeeper.
Chef Cookbooks12
11 years agoRuby
Chef Aurora7
6 years ago1otherRuby
Chef cookbook for Apache Aurora
Alternatives To Zookeeper Cookbook
Select To Compare

Alternative Project Comparisons

zookeeper cookbook

ci Cookbook Version

Table of Contents

Apache ZooKeeper

Apache ZooKeeper is a coordination and discovery service maintained by the Apache Software Foundation.

This cookbook focuses on deploying ZooKeeper via Chef.

It should be noted that ZooKeepers configuration and startup systems are complicated. To elaborate, the service scripts supplied by this cookbook use bin/zkServer.sh inside the ZooKeeper directory, which sources a variety of shell scripts as part of its initialization process.

Please be mindful if you decide to install ZooKeeper to a different location that the path to the config directory should remain pointed to the one within the install directory, unless you instead to completely rewire how ZooKeeper runs in your wrapper cookbook.



The zookeeper resource is responsible for installing and (eventually) uninstalling Zookeeper from a node.

Actions: :install, :uninstall


  • version: Version of ZooKeeper to install
  • username: The user who will eventually run Zookeeper (default: 'zookeeper')
  • user_home: Path to the home folder for the Zookeeper user (default: /home/zookeeper)
  • mirror: The mirror to obtain ZooKeeper from (required)
  • checksum: Checksum for the ZooKeeper download file
  • install_dir: Which directory to install Zookeeper to (default: '/opt/zookeeper')
  • java_version: The version of OpenJDK to install.
    • Alternatively, set use_java_cookbook false, and manage your Java installation yourself


zookeeper 'zookeeper' do
  version  '3.4.8'
  username 'zookeeper'
  mirror   'http://www.poolsaboveground.com/apache/zookeeper'
  checksum 'f10a0b51f45c4f64c1fe69ef713abf9eb9571bc7385a82da892e83bb6c965e90'
  action   :install


This resource renders a ZooKeeper configuration file.

Actions: :create, :delete


  • conf_file (name attribute): Base name of the config file

  • conf_dir: Path to write the configuration file to (defaults to /opt/zookeeper/conf)

  • config: Hash of configuration parameters to add to the file

    • Defaults to:

        'clientPort' => 2181,
        'dataDir'    => '/var/lib/zookeeper',
        'tickTime'   => 2000,
        'initLimit'  => 5,
        'syncLimit'  => 2
  • env_vars: Hash of startup environment variables (defaults to {})

  • log_dir: Log directory (defaults to /var/log/zookeeper)

  • username: The user to give ownership of the file to (default: zookeeper)


config_hash = {
  clientPort: 2181,
  dataDir: '/mnt/zk',
  tickTime: 2000,
  'autopurge.snapRetainCount' => 1,
  'autopurge.purgeInterval' => 1

zookeeper_config 'zoo.cfg' do
  config config_hash
  username 'zookeeper'
  action :create


This resource manages a system service for ZooKeeper. Confusingly, it has only one action, and the resources within are controlled via a property.

This will change in a future release, but is good enough for now.

Actions: :create


  • service_style: The type of service provider you wish to use. Defaults to systemd, and only allows one of the following:
    • systemd
    • exhibitor
  • install_dir: Where youve installed ZooKeeper (defaults to /opt/zookeeper)
  • username: The user to run ZooKeeper under (defaults to zookeeper)
  • service_actions: The actions to pass in to the service resource within this custom resource (defaults to [:enable, :start])
  • template_cookbook: The name of the cookbook to use for the service templates. Allows you to override the service script created & used (defaults to zookeeper, i.e., this cookbook)
  • restart_on_reconfig: Whether or not to restart this service on changes to the service script (defaults to false)


zookeeper_service 'zookeeper' do
  service_style 'systemd'
  install_dir   '/opt/zookeeper'
  username      'zookeeper'


  • Version 1.4.7 on the community site is in fact version 1.4.8.

Author and License

Apache License, Version 2.0

Popular Zookeeper Projects
Popular Chef Projects
Popular Configuration Management Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Chef Cookbook