puppet连载20:搭建zookeeper

本文详细介绍如何使用 Puppet 自动化工具部署和配置 Apache Zookeeper 3.4.9 版本,包括下载、安装、配置 zoo.cfg 文件以及设置防火墙规则等关键步骤。

zookeeper 3.4.9

cd /puppet/soft
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
mkdir -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 {

real_zookeeper_port=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}",
path => ["/usr/bin","/usr/sbin","/sbin","/bin"],
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"],
refreshonly => true,
}

file {'/data/zookeeper-3.4.9/conf/zoo.cfg':
ensure => file,
mode => 755,owner => root,group => root,
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
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值