puppet(单机模式)-实现redis主从

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

主机规划: 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)

 blob.png

 blob.png

 

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

 blob.png 

 blob.png 

 













本文转自lc0108131451CTO博客,原文链接http://blog.51cto.com/13150617/2053800: ,如需转载请自行联系原作者



相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
NoSQL 算法 安全
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
Redlock 算法-主从redis分布式锁主节点宕机锁丢失的问题
153 0
|
3月前
|
存储 监控 NoSQL
Redis 高可用之主从模式
上一节RDB和AOF持久化机制提到了 Redis 的持久性,也就是在服务器实例宕机或故障时,拥有再恢复的能力。但是在这个服务器实例宕机恢复期间,是无法接受新的数据请求。对于整体服务而言这是无法容忍的,因此我们可以使用多个服务器实例,在一个实例宕机中断时,另外的服务器实例可以继续对外提供服务,从而不中断业务。Redis 是如何做的呢?Redis 做法是**增加冗余副本**,**将一份数据同时保存在多个实例**上。那么如何保存各个实例之间的数据一致性呢?
46 0
Redis 高可用之主从模式
|
6月前
|
存储 NoSQL 网络安全
Redis安装(单机、主从、哨兵、集群)
Redis安装(单机、主从、哨兵、集群)
132 1
|
5月前
|
存储 监控 NoSQL
redis主从模式,redis哨兵模式,redis集群模式
redis主从模式,redis哨兵模式,redis集群模式
redis主从模式,redis哨兵模式,redis集群模式
|
1月前
|
运维 负载均衡 NoSQL
【大厂面试官】知道Redis集群和Redis主从有什么区别吗
集群节点之间的故障检测和Redis主从中的哨兵检测很类似,都是通过PING消息来检测的。。。面试官抓抓脑袋,继续看你的简历…得想想考点你不懂的😰。
67 1
|
3月前
|
存储 负载均衡 NoSQL
Redis 高可用篇:你管这叫主从架构数据同步原理?
Redis 高可用篇:你管这叫主从架构数据同步原理?
241 5
|
3月前
|
缓存 NoSQL 算法
《吊打面试官》系列-Redis哨兵、持久化、主从、手撕LRU
《吊打面试官》系列-Redis哨兵、持久化、主从、手撕LRU
43 0
|
3月前
|
存储 NoSQL 数据库连接
Redis主从模式以及数据同步原理:全量数据同步、增量数据同步
Redis主从模式以及数据同步原理:全量数据同步、增量数据同步
178 0
|
3月前
|
NoSQL Ubuntu Redis
redis主从配置+集群搭建
redis主从配置+集群搭建
38 0
|
4月前
|
缓存 NoSQL 应用服务中间件
分布式缓存之Redis(持久化、主从、哨兵、分片集群)
分布式缓存之Redis(持久化、主从、哨兵、分片集群)

热门文章

最新文章

推荐镜像

更多