redis的主从配置方法详解
Linux系统下的redis的主从配置方法非常简单,下面给大家分享一下redis的主从配置方法具体的操作步骤
环境介绍:
OS:oraclelinux5.6
redis:redis-2.6.8
masterrac1192.168.2.101
slave rac2192.168.2.102
下载地址:
http://redis.googlecode.com/files/redis-2.6.8.tar.gz
安装配置主从redis
1.主节点配置
[root@rac1opt]tarzxvfredis-2.6.8.tar.gz [root@rac1opt]cdredis-2.6.8 [root@rac1redis-2.6.8]#make [root@rac1redis-2.6.8]#cpsrc/redis-server/usr/local/bin/ [root@rac1redis-2.6.8]#cpredis.conf/etc/redis_master.conf [root@rac1redis-2.6.8]#cat/etc/redis_master.conf #Ifport0isspecifiedRediswillnotlistenonaTCPsocket.
port6379#此端口是redis默认的,可以不改
复制软件到从节点
[root@rac1opt]#scp-rredis-2.6.8rac2:/opt
2.从节点配置
[root@rac2redis-2.6.8]#cpsrc/redis-server/usr/local/bin/ [root@rac2redis-2.6.8]#cpredis.conf/etc/redis_slave.conf #Ifport0isspecifiedRediswillnotlistenonaTCPsocket.
port6389#修改为slave节点的自定义端口
#slaveofslaveof192.168.2.1016379
此步最关键,添加上master的IP或主机及端口号
3.启动redis服务
启动master节点
[root@rac1~]#redis-server/etc/redis_master.conf>redis_master.log2>&1&
&可以使命令在后台的执行,不影响屏幕使用。
_._ _.-``__''-._ _.-```.`_.''-._Redis2.6.8(00000000/0)64bit .-``.-```.```\/_.,_''-._ (',.-`|`,)Runninginstandalonemode |`-._`-...-`__...-.``-._|'`_.-'|Port:6379 |`-._`._/_.-'|PID:477 `-._`-._`-./_.-'_.-' |`-._`-._`-.__.-'_.-'_.-'| |`-._`-.__.-'_.-'|http://redis.io `-._`-._`-.__.-'_.-'_.-' |`-._`-._`-.__.-'_.-'_.-'| |`-._`-.__.-'_.-'| `-._`-._`-.__.-'_.-'_.-' `-._`-.__.-'_.-' `-.__.-' `-.__.-' [477]12Mar16:43:30.319#Serverstarted,Redisversion2.6.8 [477]12Mar16:43:30.319#WARNINGovercommit_memoryissetto0!Backgroundsavemayfailunderlowmemorycondition.Tofixthisissueadd'vm.overcommit_memory=1'to/etc/sysctl.confandthenrebootorrunthecommand'sysctlvm.overcommit_memory=1'forthistotakeeffect. [477]12Mar16:43:30.319*Theserverisnowreadytoacceptconnectionsonport6379 [root@rac1~]#ps-ef|grepredis root593014334016:56pts/100:00:02redis-server/etc/redis_master.conf root725014334017:03pts/100:00:00grepredis
启动slave节点
[root@rac2~]#redis-server/etc/redis_slave.conf>redis_slave.log2>&1& [1]32507 [32507]12Mar17:51:55.346*Maxnumberofopenfilessetto10032 _._ _.-``__''-._ _.-```.`_.''-._Redis2.6.8(00000000/0)64bit .-``.-```.```\/_.,_''-._ (',.-`|`,)Runninginstandalonemode |`-._`-...-`__...-.``-._|'`_.-'|Port:6389 |`-._`._/_.-'|PID:32507 `-._`-._`-./_.-'_.-' |`-._`-._`-.__.-'_.-'_.-'| |`-._`-.__.-'_.-'|http://redis.io `-._`-._`-.__.-'_.-'_.-' |`-._`-._`-.__.-'_.-'_.-'| |`-._`-.__.-'_.-'| `-._`-._`-.__.-'_.-'_.-' `-._`-.__.-'_.-' `-.__.-' `-.__.-' [32507]12Mar17:51:55.350#Serverstarted,Redisversion2.6.8 [32507]12Mar17:51:55.350#WARNINGovercommit_memoryissetto0!Backgroundsavemayfailunderlowmemorycondition.Tofixthisissueadd'vm.overcommit_memory=1'to/etc/sysctl.confandthenrebootorrunthecommand'sysctlvm.overcommit_memory=1'forthistotakeeffect. [32507]12Mar17:51:55.350*Theserverisnowreadytoacceptconnectionsonport6389 [32507]12Mar17:51:56.348*ConnectingtoMASTER... [32507]12Mar17:51:56.349*MASTER<->SLAVEsyncstarted [32507]12Mar17:51:56.495*NonblockingconnectforSYNCfiredtheevent. [32507]12Mar17:51:57.014*MasterrepliedtoPING,replicationcancontinue... [32507]12Mar17:51:57.028*MASTER<->SLAVEsync:receiving18bytesfrommaster [32507]12Mar17:51:57.029*MASTER<->SLAVEsync:LoadingDBinmemory [32507]12Mar17:51:57.037*MASTER<->SLAVEsync:Finishedwithsuccess [root@rac2~]#ps-ef|grepredis root32129770017:54pts/100:00:00grepredis root3250729770017:51pts/100:00:00redis-server/etc/redis_slave.conf
4.验证主从复制
master节点数据输入
[root@rac1~]#telnet192.168.2.1016379 Trying192.168.2.101... Connectedtorac1.localdomain(192.168.2.101). Escapecharacteris'^]'. rpushdata1 :1 rpushdata1 :2 lrangedata0-1 *2 $1 1 $1 1
slave节点验证
[root@rac1~]#telnet192.168.2.1026389 Trying192.168.2.102... Connectedtorac2.localdomain(192.168.2.102). Escapecharacteris'^]'. lrangedata0-1 *2 $1 1 $1 1 quit +OK Connectionclosedbyforeignhost.
好了,到此主从redis已经配置完成并成功运行了,Linux系统下的redis主从配置方法操作很简单只要接步骤认真配置基本都可以配置成功