redis主从+哨兵+高可用集群搭建

redis下载


wget http://download.redis.io/releases/redis-5.0.4.tar.gz
tar xvf redis-5.0.4.tar.gz
cd redis-5.0.4
make install PREFIX=/root/svr/redis-5.0.4 #安装(我用的make && make install)
src/redis-server ../redis.conf& #启动
src/redis-cli #客户端连接

主从搭建


第1步:cp reids.conf redis2.conf
第2步:Vim redis2.conf(slave)
第3步:slaveof 192.168.0.12 6379(master的地址),修改port,(rdb)
第4步:Vim redis.conf (master)
第5步:bind  0.0.0.0 #无ip 都可以访问
第6步:./redis-server ../redis.conf   #master
第7步./redis-server ../redis.2conf  #slave 
Ps:是否成功set get请求来判断或执行info命令role
判断是否成功:
1、master客户端set值,slave客户端能不能获取到 
2、config get 'slaveof*'

 

集群搭建


在两台服务器上配置2个一主一从

配置文件(本服务器两份 7000/redis.conf,7001/redis.conf, 再发送到另一个服务器)
cd /usr/local/redis-3.2.9
创建集群配置文件夹:mkdir cluster-conf
cd cluster-conf
创建集群端口文件夹:mkdir 7001 mkdir 7002
cd 7001
复制配置文件:cp /root/svr/redis-3.2.9/redis.conf ./
Redis的log及持久化文件建议存储到磁盘空间较大的目录,本次存储路径:/root/svr/redis-cluster/

修改配置文件:vi redis.conf
port 7001     
logfile "/root/svr/redis-3.2.9/cluster-conf/7001/redis.log"
dir /root/svr/redis-cluster/7001/ #事先创建好
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
bind 0.0.0.0    

配置说明:
port 
#端口号
logfile 
#指定了记录日志的文件
dir 
#是否开启集群
cluster-enabled
##集群配置文件的名称,每个节点都有一个集群相关的配置文件,持久化保存集群的信息。这个文件并不需要手动配置,这个配置文件有Redis生成并更新,每个Redis集群节点需要一个单独的配置文件,请确保与实例运行的系统中配置文件名称不冲突
cluster-config-file nodes.conf
#节点互连超时的阀值。集群节点超时毫秒数
cluster-node-timeout
#默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,会导致可能有几分钟的数据丢失,根据save来策略进行持久化,Append Only File是另一种持久化方式,可以提供更好的持久化特性。Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。
appendonly 

复制redis.conf至7002并修改端口及存储路径

scp其他服务器
scp -r redis-3.2.9/ root@192.168.0.13:/root/svr/

启动redis服务器
/root/svr/redis-3.2.9/bin/redis-server /root/svr/redis-3.2.9/cluster-conf/7002/redis.conf &

 

在同一台服务器上配置3个一主一从


配置同上
启动redis服务器:

start-all.sh:

redis-server 7001/redis.conf
redis-server 7002/redis.conf
redis-server 7003/redis.conf
redis-server 7004/redis.conf
redis-server 7005/redis.conf
redis-server 7006/redis.conf
echo "start over!"

启动集群
redis-cli --cluster create --cluster-replicas 1 118.25.122.245:7001 118.25.122.245:7002 118.25.122.245:7003 118.25.122.245:7004 118.25.122.245:7005 118.25.122.245:7006

哨兵搭建

配置文件(配置三份:sentinel_26379.conf,sentinel_26380.conf,sentinel_26381.conf):
port 26379
daemonize yes
pidfile "/var/run/redis-sentinel.pid"
logfile "/root/redis/redis-5.0.4/sentinels-config/26379.log"
dir "/tmp"

# 监控的主节点
sentinel monitor mymaster 118.25.122.245 7006 2
# master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 3000
# 若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败
sentinel failover-timeout mymaster 3000
protected-mode no

启动哨兵

start-all.sh:

redis-server sentinel_26379.conf --sentinel
redis-server sentinel_26379.conf --sentinel
redis-server sentinel_26379.conf --sentinel
echo "start over!"

 

其他:


查看conf中不带注释的内容:grep -Ev '^$|^#' redis.conf
查看redis相关进程:ps -ef | grep redis
多实例部署参考文档:https://blog.csdn.net/weixin_43821273/article/details/89764730

redis安全模式详解:https://www.cnblogs.com/MyOnlyBook/p/9452179.html?tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_ios&utm_campaign=client_share

基于密码验证的主从:https://blog.51cto.com/wujianwei/2103930?tt_from=mobile_qq&utm_source=mobile_qq&utm_medium=toutiao_ios&utm_campaign=client_share

redis api文档:redis-gh-pages\index.html (地址待更新)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值