「实战篇」开源项目docker化运维部署-redis高速缓存(六)

发布时间:2020-08-03 17:21:21 作者:IT人故事
来源:网络 阅读:229

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:「实战篇」开源项目docker化运维部署-redis高速缓存(六)

现在一般的项目都会用到redis做缓存,也不免有老铁没用过,我就一起说下吧。源码:https://github.com/limingios/netFuture/tree/master/redis-cluster

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

####redis

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

  1. Redis集群中的数据复制是通过主从同步来实现的。
  2. 主节点(Master)把数据分发给从节点(Slave)
  3. 主从同步的好处在于高可用,Rredis节点有冗余设计
搭建集群
应用 IP地址 服务 配置 安装应用 安装方式
docker-mysql 192.168.66.101 docker-redis-cluster 双核 8g内存 docker-redis-cluster docker

(1). 虚拟机vagrant讲述安装的步骤

vagrant up

(2).机器window/mac开通远程登录root用户下

su -
# 密码
vagrant
#设置 PasswordAuthentication yes
vi /etc/ssh/sshd_config
sudo systemctl restart sshd

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

直接看github我提交的源码吧
一共要创建6个redis集群
docker run -it -d \
-v /root/redis-cluster/r1/redis.conf:/etc/redis/redis.conf \
--name r1 -p 5001:6379 \
--net=net2 \
--ip 172.19.0.2 \
zhugeaming1314/redis bash

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

redis-trib.rb

redis内自带集群工具redis-trib.rb,操作redis-trib需要很多指令很麻烦。建议使用我提供的镜像,里面什么都装好了老铁就根据我的命令操作就可以了 。

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

!/upload-images.jianshu.io/upload_images/11223715-0123418e8224c25c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

redis集群密码设置
masterauth idig8.com
requirepass idig8.com

说明:这种方式需要重新启动各节点

方式二:进入各个实例进行设置:

./redis-cli -c -p 6379 config set masterauth idig8.com
config set requirepass idig8.com 
config rewrite 

之后分别使用./redis-cli -c -p 6379,./redis-cli -c -p 6379…..命令给各节点设置上密码。

注意:各个节点密码都必须一致,否则Redirected就会失败, 推荐这种方式,这种方式会把密码写入到redis.conf里面去,且不用重启。

用方式二修改密码,./redis-trib.rb check 172.19.0.2:6379执行时可能会报[ERR] Sorry, can't connect to node 172.19.0.2:6379,因为6379的redis.conf没找到密码配置。

如:./redis-trib.rb check 127.0.0.1:6379,则会报错ERR] Sorry, can’t connect to node 127.0.0.1:6379
解决办法:vim /usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.0/lib/redis/client.rb,然后修改passord

class Client
    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :password => "idig8.com",
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :inherit_socket => false
    }

注意:client.rb路径可以通过find命令查找:find / -name 'client.rb'

带密码访问集群

./redis-cli -c -p 6379-a idig8.com

PS:整个redis集群已经安装完毕,3个master3个salve,如果1个master挂了对应的slave自动升级为master,挂的原来的master如果重新启动就变成了slave。我尝试用官方的docker镜像redis来进行全流程的安装,在docker run命令中加入配置文件启动,这种方式是有问题的,到创建集群的时候还是会报错的,还是建议用我的镜像,这样稳定些。并且里面自带redis-trib.rb。

「实战篇」开源项目docker化运维部署-redis高速缓存(六)

推荐阅读:
  1. Saltstack(自动化运维环境部署)
  2. 「实战篇」开源项目docker化运维部署(终结篇)(11)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker idig8 redis

上一篇:Python分支、循环和条件的案例分析

下一篇:Elasticsearch-1.7.0安装部署

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》