redis集群搭建

作者: sendos | 来源:发表于2019-02-13 16:56 被阅读101次

就写给自己以后忘记的时候看看,不一定正确

安装redis

wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz
cd redis-5.0.3
make
cd src
cp redis-cli redis-sentinel redis-server /usr/sbin
#配置文件模板在redis-5.0.3目录里面
cd ../
cp redis.conf sentinel.conf /etc/   #方便等下运行的时候,指定配置文件

搭建master-slave模式

192.168.3.27 (master)
192.168.3.26 (slave)

修改master上的配置文件
vim /etc/redis.conf

然后在文件里面修改一下配置

bind 127.0.0.1====>bind 0.0.0.0  #方便其他机器访问
daemonize no====>daemonize yes  #以后台方式运行
logfile ""====>logfile "/var/log/redis.conf"  #指定日志文件,方便追踪排查

然后运行

redis-server /etc/redis.conf
修改slave主机上的配置文件

修改和master一样的设置后,在redis.conf里面增加

replicaof 192.168.3.27 6379   #指定本机的master为192.168.3.27

然后运行

redis-server /etc/redis.conf
查看运行结果
slave运行信息 master运行信息
验证
image.png
在master上设置一个key后,在slave上也有相应的key,默认情况该模式下,主服务器上可以进行读写,从服务器只能读,如:
image.png
但是如果在从服务器的配置文件修改配置
image.png
将replica-read-only的值yes改成no,重启后,就可以读写
ps:从服务器配置成可以写入,但是写入的值并不会同步到主服务器上
同步机制
image.png
  • 当slave第一次连上master时,会进行一次完整同步
  • 当master上写入新的值时,slave会向master请求一次partial resynchronization,根据offset值,只进行增量同步
  • 当master重启之后,slave向master请求增量同步时,由于和之前的id不一致,所以会重新进行一次完整同步

相关文章

网友评论

    本文标题:redis集群搭建

    本文链接:https://www.haomeiwen.com/subject/cuvdeqtx.html