puppet连载18:搭建redis

cd /puppet/soft
wget http://download.redis.io/releases/redis-3.2.11.tar.gz
mkdir -p /etc/puppet/modules/linuxredis/{manifests,files,templates}


vi /etc/puppet/modules/linuxredis/templates/redis-3.2.11.conf.erb

bind 0.0.0.0
protected-mode yes
port <%= real_redis_port %>
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis_<%= real_redis_port %>.pid
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes


写启动脚本

vim /puppet/soft/redis-3.2.11.sh

!/bin/bash

chkconfig:2345 93 63

description:redis star stop

. /etc/rc.d/init.d/functions

servicename=/data/redis-3.2.11/src/redis-server
serviceconfig=/data/redis-3.2.11/redis.conf

if [ ! -f $servicename ];then
exit 6;
fi

if [ ! -f $serviceconfig ];then
exit 7;
fi

case 1 in start)servicename serviceconfig ;; stop) pkill redis-server ;; restart) pkill redis-server &&servicename serviceconfig ;; status) RETVAL=`ps aux|grep " servicename"|grep -Ev "grep|color"|wc -l`
if [ RETVAL -ge 1 ]; then echo 'running' exit 0 else echo 'stopped' fi exit 1 ;; *) echo "Usage:0 {start|stop|restart|status}"
exit 2
esac

exit $?

vi /etc/puppet/modules/linuxredis/manifests/init.pp

class linuxredis::redis3211 {

real_redis_port =redis_port ? {'' => '6379',default => $redis_port }

exec {"/data":
command => "mkdir /data",
creates => "/data",
path => ["/usr/bin","/usr/sbin","/sbin","/bin"],
}
file {"/data/redis-3.2.11.tar.gz":
source => "puppet:///soft/redis-3.2.11.tar.gz",
ensure => file,
mode => 755,owner => root,group => root,
require => [Exec["/data"],File["/etc/init.d/redis-server"]],
notify => Exec["tar redis-3.2.11.tar.gz"],
}
file {"/etc/init.d/redis-server":
source => "puppet:///soft/redis-3.2.11.sh",
ensure => file,
mode => 755,owner => root,group => root,
}
exec {"tar redis-3.2.11.tar.gz":
command => "tar zxvf redis-3.2.11.tar.gz && cd redis-3.2.11 && make && cd src && make install",
cwd => "/data",
refreshonly => true,
path => ["/usr/bin","/usr/sbin","/sbin","/bin"],
notify => Exec["firewallredisport"],
}
exec {"firewallredisport":
command => "firewall-cmd --add-port=$real_redis_port/tcp --permanent && firewall-cmd --reload",
path => ["/usr/sbin","/usr/bin","/bin","/sbin"],
refreshonly => true,
}
file {'/data/redis-3.2.11/redis.conf':
ensure => file,
mode => 755,owner => root,group => root,
content => template("/etc/puppet/modules/linuxredis/templates/redis-3.2.11.conf.erb"),
backup => '.bak',
notify => [Service["redis-server"],Exec["firewallredisport"]],
require => Exec["tar redis-3.2.11.tar.gz"],
}
service {"redis-server":
ensure => running,
hasrestart => true,
provider => init,
start => "/etc/init.d/redis-server start",
stop => "/etc/init.d/redis-server stop",
restart => "/etc/init.d/redis-server restart",
status => "/etc/init.d/redis-server status",
}
}


调用

node 'huangat-test' {

$real_redis_port =

include linuxredis::redis3211
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值