单机多集群配置。复制三个配置文件,分别为79,80,81。我要把79设置为主机,80和81设置为从机。
[root@iZwz9g94s1ylux707g0qu3Z yconfig]# cp redis.conf redis79.conf
[root@iZwz9g94s1ylux707g0qu3Z yconfig]# cp redis.conf redis80.conf
[root@iZwz9g94s1ylux707g0qu3Z yconfig]# cp redis.conf redis81.conf
[root@iZwz9g94s1ylux707g0qu3Z yconfig]# ls
redis79.conf redis80.conf redis81.conf redis.conf
首先进入不同的配置文件中修改配置信息。
要修改的:
1、端口
2、pid 名字
3、log文件名字
4、dump.rdb 名字
以79为例。
前提是后台进程要设为yes
端口号:
pid名字:
log文件名:
rdb文件名:
修改完成后,三台redis启动。
在第四台redis上查看
环境搭建完成后,开始搭建集群,一主二从。
默认情况下每台Redis服务都是主机,这就需要用到salveof
命令来配置从机。
以6380为例。
[root@iZwz9g94s1ylux707g0qu3Z bin]# redis-cli -p 6380 #连接6380客户端
127.0.0.1:6380> ping
PONG
127.0.0.1:6380> SLAVEOF 127.0.0.1 6379 #设置主机ip和地址,就是找个老大
OK
127.0.0.1:6380> info replication #查看主从信息
# Replication
role:slave #当前角色是从机
master_host:127.0.0.1 #主机ip
master_port:6379 #主机端口
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:28
slave_priority:100
slave_read_only:1
connected_slaves:0
master_failover_state:no-failover
master_replid:cde1f5e09d5daa01bd577a6b8c34015e407e750c
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:28
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:28
当6380和6381都设置为从机之后,在主机6379中查看主从信息。
127.0.0.1:6379> info replication
# Replication
role:master #角色是主机
connected_slaves:2 #连接两台从机
slave0:ip=127.0.0.1,port=6380,state=online,offset=98,lag=1 #从机信息
slave1:ip=127.0.0.1,port=6381,state=online,offset=98,lag=1
master_failover_state:no-failover
master_replid:f0b6caae0ac38fcdec709b3c54d9dedef11a1d22
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:98
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:98
这样,一个一主二从的集群就搭建完毕了。但是在真实的应用中,都是在配置文件中配置主从信息的。比如6380这个redis服务,进入6380的配置文件中,在replicaaof这一栏配置主机ip和主机端口,这样这个服务一打开就是6379的从机了。这样配置是永久性的,在用命令行配置是暂时性的。