Page MenuHomeSoftware Heritage

README.md
No OneTemporary

README.md

#puppet-zookeeper
[![Puppet
Forge](http://img.shields.io/puppetforge/v/deric/zookeeper.svg)](https://forge.puppetlabs.com/deric/zookeeper) [![Build Status](https://travis-ci.org/deric/puppet-zookeeper.png?branch=master)](https://travis-ci.org/deric/puppet-zookeeper)
A puppet receipt for [Apache Zookeeper](http://zookeeper.apache.org/). ZooKeeper is a high-performance coordination service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
## Requirements
* Puppet 2.7, Puppet 3.x
* Ruby 1.8.7, 1.9.3, 2.0.0, 2.1.x
* binary package of ZooKeeper
## Basic Usage:
```puppet
class { 'zookeeper': }
```
If `$::ipaddress` is not your public IP (e.g. you are using Docker) make sure to setup correct IP:
```puppet
class { 'zookeeper':
client_ip => $::ipaddress_eth0
}
```
or in Hiera:
```yaml
zookeeper::client_ip: "%{::ipaddress_eth0}"
```
## Parameters
- `id` - cluster-unique zookeeper's instance id (1-255)
- `datastore`
- `log_dir`
- `purge_interval` - automatically will delete zookeeper logs (available since 3.4.0)
- `snap_retain_count` - number of snapshots that will be kept after purging (since 3.4.0)
and many others, see the `init.pp` file for more details.
If your distribution has multiple packages for ZooKeeper, you can provide all package names
as an array.
```puppet
class { 'zookeeper':
packages => ['zookeeper', 'zookeeper-java']
}
```
## Hiera Support
All parameters could be defined in hiera files, e.g. `common.yaml`, `Debian.yaml` or `zookeeper.yaml`:
```yaml
zookeeper::id: 1
zookeeper::client_port: 2181
zookeeper::datastore: '/var/lib/zookeeper'
```
## Cloudera package
In Cloudera distribution ZooKeeper package does not provide init scripts (same as in Debian). Package containing init scripts
is called `zookeeper-server` and the service as well. Moreover there's initialization script which should be called after installation.
So, the configuration might look like this:
```puppet
class { 'zookeeper':
packages => ['zookeeper', 'zookeeper-server'],
service_name => 'zookeeper-server',
initialize_datastore => true
}
```
### Managing repository
For RedHat family curretly we support also managing an yum repo. It can be enabled with `repo` parameter:
```puppet
class { 'zookeeper':
repo => 'cloudera'
}
```
## Java installation
Default: `false`
By changing these two parameters you can ensure, that given Java package will be installed before ZooKeeper packages.
```puppet
class { 'zookeeper':
install_java => true,
java_package => 'openjdk-7-jre-headless'
}
```
## Install
### librarian (recommended)
For [puppet-librarian](https://github.com/rodjek/librarian-puppet) just add to `Puppetfile`
from Forge:
```ruby
mod 'deric/zookeeper'
```
latest (development) version from GitHub
```ruby
mod 'deric/zookeeper', :git => 'git://github.com/deric/puppet-zookeeper.git'
```
### submodules
If you are versioning your puppet conf with git just add it as submodule, from your repository root:
git submodule add git://github.com/deric/puppet-zookeeper.git modules/zookeeper
## Dependencies
* stdlib `> 2.3.3` - function `ensure_resources` is required
## Supported platforms
* Debian/Ubuntu
* Debian 6 Squeeze: you can get ZooKeeper package from [Wheezy](http://packages.debian.org/wheezy/zookeeper) or [Sid](http://packages.debian.org/sid/zookeeper) repo.
* Debian 7 Wheezy: available in apt repository
* RedHat/CentOS/Fedora
### Tested on:
* Debian 6 Squeeze, 7 Wheezy
* Ubuntu 12.04.03 LTS, 14.04
* CentOS 6

File Metadata

Mime Type
text/plain
Expires
Wed, Jun 4, 7:25 PM (5 d, 7 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3262922

Event Timeline