锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

redis集群之主从复制

时间:2023-01-16 06:30:00 80f薄膜电容

本文基于docker演示环境,关于docker下redis请参考:掌握docker基本使用-以redis为例,主从模式配置过程中遇到的问题集中列举在文末,如有相同问题可以作为参考。

主从配置

基于docker启动两个redis容器:
redis-node1:6379
redis-node2:6380

docker run -idt --name redis-node1 -p 6379:6379 -v /usr/local/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/node1/data:/data  --privileged=true docker.io/redis redis-server /etc/redis/redis.conf  docker run -idt --name redis-node2 -p 6379:6379 -v /usr/local/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/redis/node2/data:/data  --privileged=true docker.io/redis redis-server /etc/redis/redis.conf 

redis默认情况下,节点启动master节点,所以只需要从节点配置,让我们在这里redis-node1做主节点,redis-node2做从节点:
先看看redis-node1:

[root@localhost ~]# docker exec -it redis-node1 /bin/bash root@2155096fb356:/data# redis-cli -a 123456 #密码123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> info replication # Replication role:master    ## 当前节点是master节点 connected_slaves:0 ###已从节点数0连接 master_failover_state:no-failover master_replid:5e6312b18d6fab29d272edff3c80f9dcbf846153 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:625 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:625`` 

节点配置有两种方式:命令行配置和文件配置

从节点配置命令行

[root@localhost redis]# docker exec -it redis-node2 /bin/bash root@9dafda3f150c:/data# redis-cli -a 123456 Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. 127.0.0.1:6379> slaveof 192.168.247.128 6379 OK 127.0.0.1:6379> config set masterauth 123456 OK 

主从测试

在这里插入图片描述

这说明主从模式配置是成功的;

如发现配置失败,可通过以下命令查看日志,根据具体失败原因到文末找解决方案;
docker logs --tail 10 -f redis-node2

配置文件

###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### REPLICATION ###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### replicaof 192.168.247.128 6379 masterauth 123456 

从节点切换成主节点

slaveof no one

127.0.0.1:6379> info Replication # Replication role:slave master_host:192.168.247.128 master_port:6379 master_link_status:down master_last_io_seconds_ago:-1 master_sync_in_progress:0 slave_read_repl_offset:1798 slave_repl_offset:1798 master_link_down_since_seconds:23 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:5e6312b18d6fab29d272edff3c80f9dcbf846153 master_repli2:0000000000000000000000000000000000000000
master_repl_offset:1798
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:626
repl_backlog_histlen:1173
127.0.0.1:6379> slaveof no one
OK
127.0.0.1:6379> info Replication
# Replication
role:master
connected_slaves:0
master_failover_state:no-failover
master_replid:1a8e6b4e225d5de7a58f03a15648905bdbab6277
master_replid2:5e6312b18d6fab29d272edff3c80f9dcbf846153
master_repl_offset:1798
second_repl_offset:1799
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:626
repl_backlog_histlen:1173

AQ

  • Q: Error reply to PING from master: ‘-DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect’
  • A:采用以下任何一种方案即可:
    – 1. 关闭protected模式:protected-mode no
    – 2. 设置密码:requirepass 123456
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章