在测试环境搭建redis主从模式
配置文件目录:/qj/redis/data/redis.conf
服务器名称 | IP地址 | 端口 |
---|---|---|
主redis | 172.17.3.135 | 6380 |
从redis | 172.17.3.99 | 6380 |
1.主redis搭建
在主节点master上的/qj/redis/data目录下创建redis.conf文件,文件配置如下
bind 0.0.0.0
daemonize no
pidfile "/var/run/redis.pid"
port 6380
timeout 300
loglevel warning
logfile "redis.log"
databases 16
rdbcompression yes
dbfilename "redis.rdb"
dir "/data"
requirepass ydt12345678@
masterauth ydt12345678@
maxclients 10000
maxmemory 1000mb
maxmemory-policy allkeys-lru
appendonly yes
appendfsync always
docker启动命令
docker run -d --name redis --restart=always -p 6380:6380 -v /qj/redis/data/:/data -v /etc/localtime:/ete/localtime -v /etc/timezone:/etc/timezone registry-vpc.cn-beijing.aliyuncs.com/qianjia_public/redis:3.2.11 redis-server redis.conf
2.从redis搭建
在从节点/qj/redis/data目录下,创建redis.conf配置文件
配置内容如下所示:
bind 0.0.0.0
daemonize no
pidfile "/var/run/redis.pid"
port 6380
timeout 300
loglevel warning
logfile "redis.log"
databases 16
rdbcompression yes
dbfilename "redis.rdb"
dir "/data"
requirepass ydt12345678@
masterauth ydt12345678@
maxclients 10000
maxmemory 1000mb
maxmemory-policy allkeys-lru
appendonly yes
appendfsync always
slaveof 172.17.3.135 6380
docker启动命令如下:
docker run -d --name redis --restart=always -p 6380:6380 -v /qj/redis/data/:/data -v /etc/localtime:/ete/localtime -v /etc/timezone:/etc/timezone registry-vpc.cn-beijing.aliyuncs.com/qianjia_public/redis:3.2.11 redis-server redis.conf
搭建哨兵集群
哨兵集群地址:
服务器名称 | IP地址 | 端口 |
---|---|---|
sentinel-1 | 172.17.3.135 | 26379 |
sentinel-2 | 172.17.3.99 | 26379 |
sentinel-3 | 172.17.3.123 | 26379 |
配置文件目录:/qj/sentinel/sentinel.conf
1.135节点搭建sentinel-1
sentinel.conf配置文件如下所示:
daemonize no
port 26379
dir "/tmp"
sentinel monitor mymaster 172.17.3.135 6380 2
sentinel down-after-milliseconds mymaster 10000
sentinel auth-pass mymaster ydt12345678@
sentinel config-epoch mymaster 10
sentinel leader-epoch mymaster 10
docker启动命令如下所示:
docker run -d -p 26379:26379 --name sentinel-1 --network host -v /qj/sentinel/sentinel.conf:/data/sentinel.conf -v /etc/localtime:/ete/localtime -v /etc/timezone:/etc/timezone --restart=always registry-vpc.cn-beijing.aliyuncs.com/qianjia_public/redis:3.2.11 redis-sentinel sentinel.conf
2.99节点搭建sentinel-2
sentinel.conf配置文件如下所示:
daemonize no
port 26379
dir "/tmp"
sentinel monitor mymaster 172.17.3.135 6380 2
sentinel down-after-milliseconds mymaster 10000
sentinel auth-pass mymaster ydt12345678@
sentinel config-epoch mymaster 10
sentinel leader-epoch mymaster 10
docker启动命令如下所示:
docker run -d -p 26379:26379 --name sentinel-2 --network host -v /qj/sentinel/sentinel.conf:/data/sentinel.conf -v /etc/localtime:/ete/localtime -v /etc/timezone:/etc/timezone --restart=always registry-vpc.cn-beijing.aliyuncs.com/qianjia_public/redis:3.2.11 redis-sentinel sentinel.conf
3.123节点搭建sentinel-3
sentinel.conf配置文件如下所示:
daemonize no
port 26379
dir "/tmp"
sentinel monitor mymaster 172.17.3.135 6380 2
sentinel down-after-milliseconds mymaster 10000
sentinel auth-pass mymaster ydt12345678@
sentinel config-epoch mymaster 10
sentinel leader-epoch mymaster 10
docker启动命令如下所示:
docker run -d -p 26379:26379 --name sentinel-3 --network host -v /qj/sentinel/sentinel.conf:/data/sentinel.conf -v /etc/localtime:/ete/localtime -v /etc/timezone:/etc/timezone --restart=always registry-vpc.cn-beijing.aliyuncs.com/qianjia_public/redis:3.2.11 redis-sentinel sentinel.conf
4.检测哨兵集群是否成功
查看sentinel.conf文件,当出现如下内容代表搭建成功
ydt@qj-pred-pub99:/qj/sentinel$ cat sentinel.conf
daemonize no
protected-mode no
port 26379
dir "/tmp"
sentinel myid 0d157622da602dc2883a62d2b12c87738166f71f
sentinel monitor mymaster 172.17.3.135 6380 2
sentinel down-after-milliseconds mymaster 10000
sentinel auth-pass mymaster ydt12345678@
sentinel config-epoch mymaster 10
# Generated by CONFIG REWRITE
sentinel leader-epoch mymaster 10
sentinel known-slave mymaster 172.17.3.99 6380
sentinel known-sentinel mymaster 172.17.3.135 26379 c850a34773e602d419cadf89a4d9d419e9bbc2e8
sentinel known-sentinel mymaster 172.17.3.123 26379 71fa3ab0f519e72a9c014261fbb5b6ee6b31707c
sentinel current-epoch 10