面试准备之redis哨兵模式的搭建

去年准备面试的时候就看到了redis的三种集群模式,但只是理论上看了一下,没有实践过,今天做了一遍,其实并不难,虽然比较简单,但还是有点成就感的,哈哈,这家公司其实可以用得上的,但是自己却没有实践,现在将这个搭建过程记录下来。

主从复制模式

第一步.复制redis配置文件

将redis配置文件复制成三分,分别命名成6379redis.conf,6380redis.conf,6381redis.conf

cp redis.conf 6379redis.conf
cp redis.conf 6380redis.conf
cp redis.conf 6381redis.conf

第二步.修改配置文件

再然后修改配置文件里面的端口号,日志文件路径,持久化文件,PID文件路径 pidfile

修改端口号
面试准备之redis哨兵模式的搭建_第1张图片

修改日志文件路径
面试准备之redis哨兵模式的搭建_第2张图片

修改持久化文件dump.rdb
面试准备之redis哨兵模式的搭建_第3张图片

修改PID文件路径 pidfile
面试准备之redis哨兵模式的搭建_第4张图片
 

启动三个redis

redis-server ./6379redis.conf
redis-server ./6380redis.conf
redis-server ./6381redis.conf

开三个窗口,在三个窗口里面分别连接redis的客户端,查看reids的基本信息。每一个窗口执行其中一条就好了

redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381

这里以连接6739为例,并查看这个节点的信息,可以看到6379是一个主节点,查看6380和6381也是这样的。
面试准备之redis哨兵模式的搭建_第5张图片

现在要把6380和6381改成从节点,两种改发一种是在客户端执行slaveof命令,一种是在配置文件里面配置。我这里是执行命令的

slaveof 127.0.0.1 6379

其中127.0.01 是主节点的ip,6379是主节点的端口号,执行完成后,再查看6380的节点信息,发现6380变成从节点了,而且变成只读的了。
面试准备之redis哨兵模式的搭建_第6张图片

面试准备之redis哨兵模式的搭建_第7张图片

可以先尝试再6380节点添加值


如果在6379节点设置值,在6380可以取到值,说明redis主从复制成功

面试准备之redis哨兵模式的搭建_第8张图片
面试准备之redis哨兵模式的搭建_第9张图片
主从复制最大的确定是不能实现故障转移,也就是当主节点宕机后,整个服务就写不了数据了。

哨兵模式

哨兵模式和主从复制的模式最大的不同是在主从节点外新增了哨兵节点,能监控主从节点的状态,当主节点宕机后能从从节点里面选举出一个作为主节点,保证服务的高可用性。
创建一个哨兵配置文件

touch sentinel.conf

然后再到配置文件里面写入:

sentinel monitor sentinel6379 127.0.0.1 6379 1

sentinel monitor 被监控机器的名字(自己起名字) ip地址 端口号 得票数
其中最后的1是当有一个哨兵节点认为主节点主观下线后,主节点就变成客观下线了。

启动哨兵节点:

redis-sentinel ./sentinel.conf

面试准备之redis哨兵模式的搭建_第10张图片

这样哨兵节点就被启动了,我们可以看一下
面试准备之redis哨兵模式的搭建_第11张图片
 

当关掉6379主节点后,然后查看谁变成了主节点,发现6380变成主节点了,这个时候就可以
面试准备之redis哨兵模式的搭建_第12张图片
面试准备之redis哨兵模式的搭建_第13张图片

重新启动6379节点,看一下6379变成从节点了

面试准备之redis哨兵模式的搭建_第14张图片

到此redis的哨兵模式搭建完成了。

你可能感兴趣的:(redis)