Linux安装redis并搭建主从,哨兵

下载redis

选择你想要存放的目录,然后 下载  解压

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

tar -zxf redis-4.0.6.tar.gz

解压完成后进入解压好的目录

然后执行  make  对解压的Redis文件进行编译

执行完成后进入src目录 

执行    

make install PREFIX=/usr/mpsp/redis/redis-4.0.6

PREFIX 后面是安装路径

执行成功后就会多出一个bin的目录

 

这样  我们的redis 就已经安装好了

主从+哨兵

由于我比较穷,只有一台服务器,所以,就只在一台服务器上面同时部署了

首先,复制三个出来,然后原本的就先放在哪里,留作备用

cp -r redis-4.0.6 redis-4.0.6-master

cp -r redis-4.0.6 redis-4.0.6-Slave-1

cp -r redis-4.0.6 redis-4.0.6-Slave-2

然后是配置

主redis的配置   

redis.conf

#后台启动
daemonize yes
pidfile "/usr/mpsp/data/redis/6379/redisRun/redis_6379.pid"  
port 6379  
timeout 0  
tcp-keepalive 0  
loglevel notice  
logfile "/usr/mpsp/data/redis/6379/redislog/redis.log"  
databases 16  
save 900 1  
save 300 10  
save 60 10000  
stop-writes-on-bgsave-error yes  
rdbcompression yes  
rdbchecksum yes  
dbfilename "dump.rdb"  
dir "/usr/mpsp/data/redis/6379/redisdb" 
#如果做故障切换,不论主从节点都要填写密码且要保持一致  
masterauth "123456"
slave-serve-stale-data yes  
slave-read-only yes  
repl-disable-tcp-nodelay no  
slave-priority 98
#当前redis密码 
requirepass "123456" 
appendonly yes  
# appendfsync always  
appendfsync everysec  
# appendfsync no  
no-appendfsync-on-rewrite no  
auto-aof-rewrite-percentage 100  
auto-aof-rewrite-min-size 64mb  
lua-time-limit 5000  
slowlog-log-slower-than 10000  
slowlog-max-len 128  
notify-keyspace-events ""  
hash-max-ziplist-entries 512  
hash-max-ziplist-value 64  
list-max-ziplist-entries 512  
list-max-ziplist-value 64  
set-max-intset-entries 512  
zset-max-ziplist-entries 128  
zset-max-ziplist-value 64  
activerehashing yes  
client-output-buffer-limit normal 0 0 0  
client-output-buffer-limit slave 256mb 64mb 60  
client-output-buffer-limit pubsub 32mb 8mb 60  
hz 10  
aof-rewrite-incremental-fsync yes  
# Generated by CONFIG REWRITE  

然后是从redis的配置

daemonize yes  
pidfile "/use/mpsp/data/redis/7000/redisRun/redis_7000.pid"  
port 7000  
timeout 0  
tcp-keepalive 0  
loglevel notice  
logfile "/use/mpsp/data/redis/7000/redislog/redis.log"  
databases 16  
save 900 1  
save 300 10  
save 60 10000  
stop-writes-on-bgsave-error yes  
rdbcompression yes  
rdbchecksum yes  
dbfilename "dump.rdb"  
dir "/use/mpsp/data/redis/7000/redisdb"  
#主节点密码  
masterauth "123456"
slave-serve-stale-data yes  
slave-read-only yes  
repl-disable-tcp-nodelay no  
slave-priority 98  
requirepass "123456"  
appendonly yes  
# appendfsync always  
appendfsync everysec  
# appendfsync no  
no-appendfsync-on-rewrite no  
auto-aof-rewrite-percentage 100  
auto-aof-rewrite-min-size 64mb  
lua-time-limit 5000  
slowlog-log-slower-than 10000  
slowlog-max-len 128  
notify-keyspace-events ""  
hash-max-ziplist-entries 512  
hash-max-ziplist-value 64  
list-max-ziplist-entries 512  
list-max-ziplist-value 64  
set-max-intset-entries 512  
zset-max-ziplist-entries 128  
zset-max-ziplist-value 64  
activerehashing yes  
client-output-buffer-limit normal 0 0 0  
client-output-buffer-limit slave 256mb 64mb 60  
client-output-buffer-limit pubsub 32mb 8mb 60  
hz 10  
aof-rewrite-incremental-fsync yes  
# Generated by CONFIG REWRITE  
#配置主节点信息  
slaveof 10.10.56.161 6379 

Slave-redis的配置我们需要注意修改的几个点:端口、文件路径、主节点信息,这三点必须要注意修改

同时, pidfile  logfile  dir  这三个配置的文件夹,必须启动前提前创建!!!

接下来是哨兵的配置

sentinel.conf

port 26379
#1表示在sentinel集群中只要有两个节点检测到redis主节点出故障就进行切换,单sentinel节点无效(自己测试发现的)
#如果3s内mymaster无响应,则认为mymaster宕机了
#如果10秒后,mysater仍没活过来,则启动failover
sentinel monitor mymaster 10.10.56.161 6379 1
sentinel down-after-milliseconds mymaster 3000
sentinel failover-timeout mymaster 10000
daemonize yes
#指定工作目录
dir "/use/mpsp/data/redis/26379/sentinel-work"
protected-mode no
logfile "/use/mpsp/data/26379/sentinellog/sentinel.log"
#redis主节点密码
sentinel auth-pass mymaster 123456
# Generated by CONFIG REWRITE

这里需要注意的就是  端口号 文件夹路径,不能重复,且文件夹路径需要启动前提前创建

配置修改完毕,接下来就是启动了

进入我们redis的安装路径

执行

./bin/redis-server redis.conf

这就是启动我们的redis了,由于我们设置的后台启动,所以我们通过查看日志来判断是否启动成功

日志路径是我们配置文件中的   logfile  文件夹

三个redis依次启动

也可以通过   ps -ef|grep redis  判断是否启动

 

哨兵的启动通过执行

./bin/redis-sentinel sentinel.conf 

日志路径也是  logfile  

也可以通过  ps -ef|grep redis  判断是否启动

 

通过查看哨兵的日志我们可以看到主redis的情况

同时我们访问主redis的哨兵可以看到从redis的节点情况

 

这样  我们的主从+哨兵就已经搭建好了

测试

虽然已经搭建好了  但是毕竟我们要试一下是不哨兵已经起到作用了呢

执行

./bin/redis-cli

然后验证密码

auth 123456

最后执行

shutdown

通过ps,也可以看到少了一个redis

通过查看哨兵的日志,我们也可以看到主服务器也已经变更了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值