linux下的redis伪集群配置
1、下载并安装redis
这个时候要注意,解压之后的make命令会有两个坑
第一、此linux系统中必须装有gcc,若没有gcc会报错
解决:在能够上网的前提下,输入命令 yum install gcc-c++安装gcc
第二、装好了gcc之后,再次使用make命令仍然会报错,原因是第一次make报错之后产生了多余的文件
解决:输入make distclean
2、安装好redis后,配置多个conf文件
将redis.conf分为三份,分别为redis01.conf,redis02.conf,redis03.conf
3、三个conf都改成守护现线程
4、redis01.conf需要改动一个地方,在logfile后加上6379.log,记录日志文件
4、redis02.conf和redis03.conf需要改动以下地方
- logfile日志名称
- pidfile名称
- port端口号
- rdb输出文件名称
- aof输出文件名称
三个conf的以上内容要不一样,且开启rdb和aof
5、在bin目录下编写启动脚本redis_start.sh
6、运行启动脚本sh redis_start.sh
7、进入6380端口的redis和6381端口的redis(我这里三个redis分别设置占用6379、6380、6381,根据情况选择master),输入slaveof 127.0.0.1 6379,认6379端口的redis为大哥
在6380和6381端口的redis客户端中输入info relication命令,出现如上图所示结果则成功
8、编写哨兵配置文件,在redis目录下编写sentinel.conf文件,并写上
sentinel monitor 数据库名字(自己起) 127.0.0.1 6379 1
其中 6379表示所要监听的master端口号,1表示投票
9、在bin目录下启动哨兵
./redis-sentinel …/sentinel.conf
10、若要在后台启动哨兵,则sentinel.conf文件还要加上
daemonize yes
注意,配置了集群后,master结点redis负责写,其余slave结点redis只能读,主从之间会实现同步,若master结点宕机后,哨兵会检测出来并且投票选出新的master结点,原master结点重新启动后会进入slave模式