文章目录
- 1. 部署划分
- 2. 单机安装Redis
- 3. 创建配置/数据/日志目录
- 4. 修改配置文件
- 5. 防火墙开放
- 6. redis启动
- 7. 查看redis状态
- 8. 登录查看信息
- 9. 读写分离测试
1. 部署划分
IP | 角色 | 端口 |
192.168.45.80 | Master | 6380 |
192.168.45.80 | Slave | 6381 |
192.168.45.80 | Slave | 6382 |
2. 单机安装Redis
首先在在3台服务器上分别安装Redis单机环境
Linux环境 安装 Redis-6.2.6 配置运行_01
3. 创建配置/数据/日志目录
- 创建配置目录+数据目录+日志目录
mkdir /usr/local/redis/conf/redis01 -p
mkdir /usr/local/redis/conf/redis02 -p
mkdir /usr/local/redis/conf/redis03 -p
mkdir /usr/local/redis/data/redis01 -p
mkdir /usr/local/redis/data/redis02 -p
mkdir /usr/local/redis/data/redis03 -p
mkdir /usr/local/redis/log/redis01 -p
mkdir /usr/local/redis/log/redis02 -p
mkdir /usr/local/redis/log/redis03 -p
4. 修改配置文件
vim /usr/local/redis/conf/redis01/redis-6380.conf
- master主节点配置
# 放行访问IP的限制 多个用空格隔开
# 0.0.0.0 代表无限制
bind 0.0.0.0
# 后台启动开启
daemonize yes
# 日志存储目录以及日志文件名
logfile "/usr/local/redis/log/redis01/redis.log"
# rdb数据文件名
dbfilename dump.rdb
# aof模式开启
appendonly no
# aof数据文件名
appendfilename "appendonly.aof"
#rdb数据文件和aof数据文件存储目录
dir /usr/local/redis/data/redis01
# 设置密码
requirepass 123456
# 从节点访问主节点的密码(必须和requirepass 一致)
masterauth 123456
#从节点只读模式
replica-read-only yes
# 端口
port 6380
- slave01配置
vim /usr/local/redis/conf/redis02/redis-6381.conf
# 放行访问IP的限制 多个用空格隔开
# 0.0.0.0 代表无限制
bind 0.0.0.0
# 后台启动开启
daemonize yes
# 日志存储目录以及日志文件名
logfile "/usr/local/redis/log/redis02/redis.log"
# rdb数据文件名
dbfilename dump.rdb
# aof模式开启
appendonly no
# aof数据文件名
appendfilename "appendonly.aof"
#rdb数据文件和aof数据文件存储目录
dir /usr/local/redis/data/redis02
# 设置密码
requirepass 123456
# 从节点访问主节点的密码(必须和requirepass 一致)
masterauth 123456
#从节点只读模式
replica-read-only yes
port 6381
# 从节点从属于那个主节点
slaveof 192.168.45.80 6380
- slave02配置
vim /usr/local/redis/conf/redis03/redis-6382.conf
# 放行访问IP的限制 多个用空格隔开
# 0.0.0.0 代表无限制
bind 0.0.0.0
# 后台启动开启
daemonize yes
# 日志存储目录以及日志文件名
logfile "/usr/local/redis/log/redis03/redis.log"
# rdb数据文件名
dbfilename dump.rdb
# aof模式开启
appendonly no
# aof数据文件名
appendfilename "appendonly.aof"
#rdb数据文件和aof数据文件存储目录
dir /usr/local/redis/data/redis03
# 设置密码
requirepass 123456
# 从节点访问主节点的密码(必须和requirepass 一致)
masterauth 123456
#从节点只读模式
replica-read-only yes
port 6382
# 从节点从属于那个主节点
slaveof 192.168.45.80 6380
5. 防火墙开放
firewall-cmd --zone=public --add-port=6380/tcp --permanent
firewall-cmd --zone=public --add-port=6381/tcp --permanent
firewall-cmd --zone=public --add-port=6382/tcp --permanent
firewall-cmd --reload
6. redis启动
/app/redis-6.2.6/src/redis-server /usr/local/redis/conf/redis01/redis-6380.conf
/app/redis-6.2.6/src/redis-server /usr/local/redis/conf/redis02/redis-6381.conf
/app/redis-6.2.6/src/redis-server /usr/local/redis/conf/redis03/redis-6382.conf
7. 查看redis状态
ps -ef |grep redis
[root@VM-24-10-centos redis03]# ps -ef |grep redis
root 14763 1 0 14:39 ? 00:00:00 /app/redis-6.2.6/src/redis-server 0.0.0.0:6380
root 14779 1 0 14:39 ? 00:00:00 /app/redis-6.2.6/src/redis-server 0.0.0.0:6381
root 14834 1 0 14:39 ? 00:00:00 /app/redis-6.2.6/src/redis-server 0.0.0.0:6382
8. 登录查看信息
主节点信息
[root@VM-24-10-centos ~]# /app/redis-6.2.6/src/redis-cli -p 6380 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6380> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.45.80,port=6381,state=online,offset=182,lag=1
slave1:ip=192.168.45.80,port=6382,state=online,offset=182,lag=1
master_failover_state:no-failover
master_replid:58bef7c5bf537c81b17cdec50ed8f4ba6a30f2d3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:196
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:196
127.0.0.1:6380>
slave01节点信息
[root@VM-24-10-centos ~]# /app/redis-6.2.6/src/redis-cli -p 6381 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6381> info replication
# Replication
role:slave
master_host:192.168.45.80
master_port:6380
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_read_repl_offset:238
slave_repl_offset:238
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:58bef7c5bf537c81b17cdec50ed8f4ba6a30f2d3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:238
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:238
127.0.0.1:6381>
slave02节点信息
[root@VM-24-10-centos ~]# /app/redis-6.2.6/src/redis-cli -p 6382 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6382> info replication
# Replication
role:slave
master_host:192.168.45.80
master_port:6380
master_link_status:up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_read_repl_offset:378
slave_repl_offset:378
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:58bef7c5bf537c81b17cdec50ed8f4ba6a30f2d3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:378
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:378
127.0.0.1:6382>
9. 读写分离测试
master节点 能读能写验证
127.0.0.1:6380> set name zhangsan
OK
127.0.0.1:6380> get name
"zhangsan"
127.0.0.1:6380>
127.0.0.1:6381> get name
"zhangsan"
127.0.0.1:6381> set lisi
(error) ERR wrong number of arguments for 'set' command
127.0.0.1:6381>
127.0.0.1:6382> get name
"zhangsan"
127.0.0.1:6382> set name lisi
(error) READONLY You can't write against a read only replica.
127.0.0.1:6382>