1. 程式人生 > >puppet(單機模式)-實現redis主從

puppet(單機模式)-實現redis主從

puppet redis主從 單機模式

主機規劃: mainfests:172.16.13.133

master:172.16.13.134

slave:172.16.13.135

實現過程:

1、所有主機安裝puppet:yum install puppet

2、準備redis主從相關的配置文件:

為了方便,先在本機安裝redis,利用現有的配置文件來生成主從的配置文件

cp /etc/redis.conf /root/manifests/redis/files/redis-master.conf

cp /etc/redis.conf /root/manifests/redis/files/redis-slave.conf


vim redis-master.conf 修改如下行

bind 0.0.0.0 #這裏為了方便使用配置為0.0.0.0,一般設置為127.0.0.1

requirepass 123456 #開啟密碼認證

vim redis-slave.conf

bind 0.0.0.0

requirepass 123456

slaveof 172.16.13.134 6379 #指明主服務器的ip及監聽端口

masterauth 123456 #密碼


3、編輯清單文件

vim /root/manifests/redis/redis.pp #路徑可自己控制

class redis {

package {'redis': #安裝redis

ensure => installed,

}

service {'redis': #啟動redis服務

ensure => running,

enable => true,

hasrestart => true,

hasstatus => true,

}

}

class redis::master inherits redis { #redis-master使用如下source指定的配置文件,redis::master表示繼承redis類

file{'/etc/redis.conf':

ensure => file,

source => '/root/redis/files/redis-master.conf',

owner => 'redis',

group => 'root',

mode => 0640,

}

Package['redis'] -> File['/etc/redis.conf'] ~>Service['redis'] #定義依賴關系

}

class redis::slave inherits redis { #redis-slave使用如下source指定的配置文件

file{'/etc/redis.conf':

ensure => file,

source => '/root/redis/files/redis-slave.conf',

owner => 'redis',

group => 'root',

mode => 0640,

}

Package['redis'] -> File['/etc/redis.conf'] ~>Service['redis']

}


4、將對應的清單文件以及所需配置文件放到對應主機:

scp -r /root/manifests/redis/ 172.16.13.134:/root/

scp -r /root/manifests/redis/ 172.16.13.135:/root/

5、調用與自己角色相關的類:

在master主機操作:vim /root/redis/redis.pp

末尾加入如下一行:include redis::master


在slave主機操作:vim /root/redis/redis.pp

末尾加入如下一行:include redis::slave


6、執行(可以在執行前測試一下:puppet apply -v --noop redis.pp)

技術分享圖片

技術分享圖片

在主從上都看一下數據是否同步:

技術分享圖片

技術分享圖片


puppet(單機模式)-實現redis主從