yxsailing 发表于 2018-8-1 12:45:04

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)


  在主从上都看一下数据是否同步:

页: [1]
查看完整版本: puppet(单机模式)-实现redis主从