经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Redis » 查看文章
docker部署redis集群
来源:cnblogs  作者:桥头堡洗脚城  时间:2019/10/16 11:53:58  对本文有异议

一、查询最新redis镜像

docker search redis

 

 

二、下载redis镜像

docker pull redis

 

 

 

 

三、创建一个文件夹,以及创建redis-cluster.tmpl模板文件

mkdir redis-cluster-d

cd redis-cluster-d

 

port ${PORT}

masterauth 123456

requirepass 123456

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.19.0.1

cluster-announce-port ${PORT}

cluster-announce-bus-port 1${PORT}

appendonly yes

 

参数描述

(1port(端口号)

(2masterauth(设置集群节点间访问密码,跟下面一致)

(3requirepass(设置redis访问密码)

(4cluster-enabled yes(启动集群模式)

(5cluster-config-file nodes.conf(集群节点信息文件)

(6cluster-node-timeout 5000redis节点宕机被发现的时间)

(7cluster-announce-ip(集群节点的汇报ip,防止nat,预先填写为网关ip后续需要手动修改配置文件)

(8cluster-announce-port(集群节点的汇报port,防止nat

(9cluster-announce-bus-port(集群节点的汇报bus-port,防止nat

(10) appendonly yes(开启aof

 

 

四、 redis-cluster下生成confdata目标,并生成配置信息

执行以下命令,按模板生成文件以及文件夹

for port in `seq 7001 7006`; do \

  mkdir -p ./${port}/conf \

  && PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf \

  && mkdir -p ./${port}/data; \

done

 

 

 

文件结构

 

 

 

 

五、创建6redis容器

for port in `seq 7001 7006`; do

     docker run -d --net=host -v /root/redis-cluster-d/${port}/conf/redis.conf:/etc/redis/redis.conf -v /root/redis-cluster-d/${port}/data:/data --restart always --name=redis-${port}  redis redis-server /etc/redis/redis.conf;

done

 

 

 

 

 

六、进入任意一个已运行的redis容器

docker exec -it redis-7001 bash

 

 

 

执行集群指令

 redis-cli -a 123456 --cluster create 192.168.96.171:7001 192.168.96.171:7002 192.168.96.171:7003 192.168.96.171:7004 192.168.96.171:7005 192.168.96.171:7006 --cluster-replicas 1

 

 

 

 

 

 

 

七、检查集群状态

容器内验证

redis-cli -c -a 123456  -h 192.168.96.171  -p 7001

 

 

 

Centos中验证

redis-cli -c -a 123456 -h 192.168.96.171 -p 7001

 

 

 

redis-cli -a 123456 --cluster check 192.168.96.171:7001

 

 

 

 

八、如果是准备在公网使用集群,需要修改每一个nodes.conf文件中 myself,master配置的ip地址为公网ip,并重启

 

 

原文链接:http://www.cnblogs.com/xuchen0117/p/11678931.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号