天天看点

腾讯云~Redis6.2.0 集群 主从复制_搭建

文章目录

  • ​​1. 部署划分​​
  • ​​2. 单机安装Redis​​
  • ​​3. 创建配置/数据/日志目录​​
  • ​​4. 修改配置文件​​
  • ​​5. redis启动​​
  • ​​6. 登录查看信息​​
  • ​​7. 读写分离​​

1. 部署划分

IP 角色
192.168.92.100 Master
192.168.92.101 Slave
192.168.92.102 Slave

2. 单机安装Redis

首先在在3台服务器上分别安装Redis单机环境

​Linux环境 安装 Redis-6.2.6 配置运行_01​​

3. 创建配置/数据/日志目录

声明:下面流程3个节点依次操作
  • 创建配置目录
mkdir /usr/local/redis/conf -p      
  • 创建数据目录
mkdir /usr/local/redis/data -p      
  • 创建日志目录
mkdir /usr/local/redis/log -p      

4. 修改配置文件

3个节点依次创建一个redis.conf配置文件在conf目录下面

vi /usr/local/redis/conf/redis.conf      

主节点配置

# 放行访问IP的限制 多个用空格隔开 
# 0.0.0.0 代表无限制
bind 0.0.0.0

# 后台启动开启
daemonize yes

# 日志存储目录以及日志文件名
logfile "/usr/local/redis/log/redis.log"

# rdb数据文件名
dbfilename dump.rdb

# aof模式开启
appendonly no

# aof数据文件名
appendfilename "appendonly.aof"

#rdb数据文件和aof数据文件存储目录
dir /usr/local/redis/data

# 设置密码
requirepass 123456

# 从节点访问主节点的密码(必须和requirepass 一致)
masterauth 123456

#从节点只读模式
replica-read-only yes      

2个Slave节点配置

vi /usr/local/redis/conf/redis.conf      

主节点配置

# 放行访问IP的限制 多个用空格隔开 
# 0.0.0.0 代表无限制
bind 0.0.0.0

# 后台启动开启
daemonize yes

# 日志存储目录以及日志文件名
logfile "/usr/local/redis/log/redis.log"

# rdb数据文件名
dbfilename dump.rdb

# aof模式开启
appendonly no

# aof数据文件名
appendfilename "appendonly.aof"

#rdb数据文件和aof数据文件存储目录
dir /usr/local/redis/data

# 设置密码
requirepass 123456

# 从节点访问主节点的密码(必须和requirepass 一致)
masterauth 123456

#从节点只读模式
replica-read-only yes

# 从节点从属于那个主节点
slaveof 192.168.92.100 6379      

5. redis启动

主节点

[root@bigdata01 bin]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@bigdata01 bin]# ps -ef |grep redis
root      11960      1  0 17:15 ?        00:00:00 /usr/local/redis/bin/redis-server 0.0.0.0:6379
root      11977   7237  0 17:16 pts/0    00:00:00 grep --color=auto redis      

01节点

[root@bigdata02 ~]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@bigdata02 ~]# ps -ef |grep redis
root      23879      1  0 17:16 ?        00:00:00 /usr/local/redis/bin/redis-server 0.0.0.0:6379
root      23885  23847  0 17:16 pts/0    00:00:00 grep --color=auto redis      

02节点

[root@bigdata03 bin]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@bigdata03 bin]# ps -ef |grep redis
root      23814      1  0 17:16 ?        00:00:00 /usr/local/redis/bin/redis-server 0.0.0.0:6379
root      23820  19247  0 17:16 pts/0    00:00:00 grep --color=auto redis      

6. 登录查看信息

主节点信息

[root@bigdata01 bin]# /usr/local/redis/bin/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> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.92.101,port=6379,state=online,offset=266,lag=1
slave1:ip=192.168.92.102,port=6379,state=online,offset=266,lag=1
master_failover_state:no-failover
master_replid:b1f446c9ea7c0d5e95c8c47f31bb007cea158ce8
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:266
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:266
127.0.0.1:6379>      

01节点信息

[root@bigdata02 ~]# /usr/local/redis/bin/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> info replication
# Replication
role:slave
master_host:192.168.92.100
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:392
slave_priority:100
slave_read_only:1
connected_slaves:0
master_failover_state:no-failover
master_replid:b1f446c9ea7c0d5e95c8c47f31bb007cea158ce8
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:392
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:392
127.0.0.1:6379>      

02节点信息

[root@bigdata03 bin]# /usr/local/redis/bin/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> info replication
# Replication
role:slave
master_host:192.168.92.100
master_port:6379
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_repl_offset:448
slave_priority:100
slave_read_only:1
connected_slaves:0
master_failover_state:no-failover
master_replid:b1f446c9ea7c0d5e95c8c47f31bb007cea158ce8
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:448
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15
repl_backlog_histlen:434
127.0.0.1:6379>      

7. 读写分离

master节点 能读能写验证

127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379>      
127.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379> set lisi
(error) ERR wrong number of arguments for 'set' command
127.0.0.1:6379>      
27.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379> set name lisi
(error) READONLY You can't write against a read only replica.
127.0.0.1:6379>      

继续阅读