Redis主从景况布署,并配置主从复制集群

1.Redis主从共同原理

redis主服务器会周期性的把革新的多少写入磁盘恐怕把修改操作写入追加的记录文件,然后将数据文件同步给从服务器,从服务器加载记录文件,在内部存款和储蓄器库中更新新数据.

Redis是1个key-value存款和储蓄系统。和Memcached类似,它辅助存款和储蓄的value类型相对越来越多,包涵string、list、set和zset。这么些数据类型都协助push/pop、add/remove及取交集并集和差集及更增加的操作,而且那些操作都是原子性的。在此基础上,Redis援助各样区别措施的排序。与memcached同样,为了确定保证效用,数据都以缓存在内部存款和储蓄器中。区其余是Redis会周期性的把立异的数码写入磁盘也许把修改操作写入追加的笔录文件,并且在此基础上完结了master-slave同步。Redis
是一个高品质的key-value数据库。
Redis的产出,不小程度补偿了memcached那类keyvalue存款和储蓄的欠缺,在有的地方能够对关周密据库起到很好的补给功能。

二.VMWare配置贰台服务器

在已安装好redis服务的虚拟机,重命名字为Redis-Master(主机),其余克隆3个虚拟机,重命名Redis-Slave(从机)

lovebet爱博体育官网 1

查看IP:192.168.74.128;

翻开IP跟主机同一网段1九二.168.7四.12九;

展开PuTTY(session一),连接主机,(session2),连接从机.

session一运行主机的Redis服务,大家得以看来明日Curry未有别的key;

 

lovebet爱博体育官网 2

主机不用怎么设置,session贰从机展开redis.conf文件设置如下:

# Master-Slave replication. Use slaveof to make a Redis instance a copy of
# another Redis server. A few things to understand ASAP about Redis replication.
#
# 1) Redis replication is asynchronous, but you can configure a master to
#    stop accepting writes if it appears to be not connected with at least
#    a given number of slaves.
# 2) Redis slaves are able to perform a partial resynchronization with the
#    master if the replication link is lost for a relatively small amount of
#    time. You may want to configure the replication backlog size (see the next
#    sections of this file) with a sensible value depending on your needs.
# 3) Replication is automatic and does not need user intervention. After a
#    network partition slaves automatically try to reconnect to masters
#    and resynchronize with them.
#
# slaveof <masterip> <masterport>
slaveof 192.168.74.128 6379

万1主机设置了密码,在此地安装连接主机的密码

# If the master is password protected (using the "requirepass" configuration
# directive below) it is possible to tell the slave to authenticate before
# starting the replication synchronization process, otherwise the master will
# refuse the slave request.
#
# masterauth <master-password>
masterauth 123456

开发银行session二开发银行从机Redis服务,并用客户端连接,同样数据库为空.

lovebet爱博体育官网 3

那会儿,session1中主机增加二个key,切换来session二,从机霎时能获得主机同步过来的数据,那样完结了大旨的数量同步.

lovebet爱博体育官网 4

 

一.壹 安装前景况认证

使用的是CentOS 柒 版本的Linux系统,master ip 为1玖2.16八.二.1四三 :637玖slave
ip 为1九二.16捌.2.127:6380虚拟机工具使用的是Vm,但是假诺在壹台虚拟机上进行测试,一定要修改主从redis的端口,使其不等同

一.二 壹键下载安装Redis

echo '========================'systemctl disable firewalld.servicesystemctl stop firewalld.servicesystemctl disable firewalld.serviceyum install iptables-servicessystemctl start iptables.servicesystemctl status iptables.servicepwdcd /usr/local/src/yum install wgetyum install tclyum install -y gcc-c++yum install -y tcl yum install gcc yum install cppyum install cppyum install glibc-develyum install libmpcyum install glibc-headersyum install kernel-headersyum install gcc-c++wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xzf redis-4.0.8.tar.gzcd redis-4.0.8make & make testecho '========================'

二 Redis 轻松布置全数配置修改都在此布局文件

/usr/local/redis-4.0.1/redis.conf

二.一 修改为护理进度的措施运营

Redis暗许不是以守护进度的方式运转,能够经过该配置项修改,使用yes启用守护进度

 #daemonize no #修改为yes daemonize yes

2.二 绑定的主机地址

bind后边再增添主机的ip,前边主从复制 从Redis必要通过IP连接。

 bind 127.0.0.1 10.211.55.3

2.3 设置Redis 密码

此处密码设置为javen

# requirepass foobaredrequirepass javen

2.4 设置Redis 端口号

默许端口为6379

port 6379
  • 启动

#默认配置文件/usr/local/redis-4.0.1/redis.confsrc/redis-server#或者指定配置文件src/redis-server redis.conf

后端运营

src/redis-server &
  • 客户端连接

src/redis-cli# 如果有密码则src/redis-cli -a Javen

lovebet爱博体育官网 5测试Redis

  • 停止

#默认配置文件 /usr/local/redis-4.0.1/redis.conf 中的端口src/redis-cli shutdown#指定端口src/redis-cli -p 6666 shutdown

Redis的主从复制功效特别强大,1个master能够具有多少个slave,而一个slave又足以具备七个slave,如此下去,形成了庞大的接二连三串服务器集群框架结构。上边轻松的进行一下配备。

修改slave的redis配置文件

  • master的redis配置文件只要设置好bind即可

  • 修改slave的redis配置文件slaveof 拾.211.55.3 637玖(映射到主服务器上,6379是端口号)也能够动态设置:通过redis-cli
    连接到从节点服务器,施行下边发号施令就能够。slaveof 拾.21壹.5五.叁 637玖

  • 若果master设置了表达密码,还需配置masterauth。小编那边的master设置了求证密码为javen,所以布置masterauth
    javen。

布局完之后运转slave的Redis服务,OK,主从配置完结。上面测试一下:在master和slave分别实行info命令,查看结果如下:

slave:

[root@centos-linux-2 redis-4.0.1]# src/redis-cli127.0.0.1:6379> info

lovebet爱博体育官网 6lovebet爱博体育官网,image

若是从Redis连接到了master则master_link_status:up否则为down。如果为down
请坚持master的Redis是否bind了主机的IP以及是或不是设置了密码。因为从Redis是远程连接必须安装bind,借使master的Redis设置了密码slave的Redis必须设置masterauth

master:

lovebet爱博体育官网 7image

然后在master执行set age 18

在slave施行get age,看是不是能获得1八,要是能够赢得值则表达配置成功。

下边把slave修改的参数贴出来:

daemonize yesbind 127.0.0.1 10.211.55.4 requirepass javenport 6379slaveof 10.211.55.3 6379masterauth javen

用法:redis-cli [OPTIONS] [cmd [arg [arg …]]]

-h <主机ip>,默认是127.0.0.1

-p <端口>,默认是6379

-a <密码>,若是redis加锁,须求传递密码

–help,展现补助音信

redis-cli -h 10.211.55.4 -p 6379 -a javen

covermain:https://redis.io/http://blog.csdn.net/zyw\_java/article/details/76717276see
:http://blog.csdn.net/jc\_benben/article/details/77140936http://blog.csdn.net/qq\_36787384/article/details/76639519https://www.cnblogs.com/zqr99/p/7899779.htmlhttp://blog.csdn.net/zyhlearnjava/article/details/73008054http://blog.csdn.net/lc1010078424/article/details/78295482

note:所用脚本文件https://pan.baidu.com/s/1cNhG6fOdcBKK7lEzy771sQ

相关文章