zookeeper 3.4.9
cd /puppet/soft
wget
http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gzmkdir -p /etc/puppet/modules/linuxzookeeper/{manifests,files,templates}
寫配置檔案
vi /etc/puppet/modules/linuxzookeeper/templates/zookeeper-3.4.9.cfg.erb
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper-3.4.9/data
dataLogDir=/data/zookeeper-3.4.9/logs
clientPort=<%= real_zookeeper_port %>
vim /etc/puppet/modules/linuxzookeeper/manifests/init.pp
class linuxzookeeper::zookeeper349 {

zookeeper_port ? { '' => '2181',default => $zookeeper_port }
exec {"/datazookeeper":
command => "mkdir /data",
creates => "/data",
path => ["/usr/bin","/usr/sbin","/sbin","/bin"],
}
file {"/data/zookeeper-3.4.9.tar.gz":
source => "puppet:///soft/zookeeper-3.4.9.tar.gz",
ensure => file,
mode => 755,owner => root,group => root,
require => Exec["/datazookeeper"],
notify => Exec["tar zookeeper-3.4.9.tar.gz"],
exec {"tar zookeeper-3.4.9.tar.gz":
command => "tar zxvf zookeeper-3.4.9.tar.gz && mkdir -p /data/zookeeper-3.4.9/{data,logs}",
cwd => "/data",
refreshonly => true,
notify => Exec["firewallzookeeperport"],
exec {"firewallzookeeperport":
command => "firewall-cmd --add-port=$real_zookeeper_port/tcp --permanent && firewall-cmd --reload",
path => ["/usr/sbin","/usr/bin","/bin","/sbin"],
file {'/data/zookeeper-3.4.9/conf/zoo.cfg':
content => template("/etc/puppet/modules/linuxzookeeper/templates/zookeeper-3.4.9.cfg.erb"),
backup => '.bak',
notify => [Service["zookeeper"],Exec["firewallzookeeperport"]],
require => Exec["tar zookeeper-3.4.9.tar.gz"],
service {"zookeeper":
ensure => running,
hasrestart => true,
start => "/data/zookeeper-3.4.9/bin/zkServer.sh start",
stop => "/data/zookeeper-3.4.9/bin/zkServer.sh stop",
restart => "/data/zookeeper-3.4.9/bin/zkServer.sh restart",
status => "/data/zookeeper-3.4.9/bin/zkServer.sh status",
調用
node 'huangat-test' {
$zookeeper_port = 2181
include linuxzookeeper::zookeeper349