在Docker环境中搭建Redis集群

redis-5.0.0之后已经将 redis-trib.rb 脚本的功能全部集成到 redis-cli之中了,在docker环境下基于redis-cli 的 --cluster 来搭建集群将变得非常简单。Redis要求 一主一从的搭配至少要 六个节点,形成三对主从。在项目的实际部署中应用了2台物理机,每台分别部署了3个节点。下面简单记录下部署的步骤:

  1. 拉取镜像,直接用最新版本的redis
docker pull redis
  1. 创建配置文件和存储目录
    mkdir -p /usr/local/redis/{7000,7001,7002}
    在每个文件夹下都建立data和redis.conf配置文件起名为redis7000.conf、redis7001.conf、redis7002.conf
  2. 修改配置文件内容
port 7000       ##节点端口
cluster-enabled yes           ##cluster集群模式
cluster-config-file nodes.conf      ##集群配置名
cluster-node-timeout 5000           ##超时时间 
appendonly yes                      ##持久化模式
protected-mode no
  1. 创建redis容器
    分别取名redis-7000 redis-7001 redis-7002 对应集群中的三个节点
docker run -p 7000:7000 -p 17000:17000 –restart=always --name redis-7000 --net host -v /usr/local/redis/7000/redis7000.conf:/etc/redis/redis.conf -v /usr/local/redis/7000/data:/data -d redis:4.0 redis-server /etc/redis/redis.conf
  1. 在另外一台物理机上重复1-4步骤,启动另外三个节点,对应的端口分别是7003、7004、7005

6.启动集群,由于新版redis-cli 已经包含了redis-trib.rb的功能,所以进入任意一个节点,运行启动集群命令即可,执行集群指令前,开放相应的防火墙端口。

docker exec -it redis-7000 /bin/sh

redis-cli --cluster create 192.168.1.25:7000 192.168.1.25:7001 192.168.1.25:7004 192.168.1.26:7002 192.168.1.26:7003 192.168.1.26:7005
  1. 测试集群
    可进入任意一个节点内容
docker exec -it redis-7000 /bin/sh
redis-cli -p 7000 -c
127.0.0.1:7000>set testnode test
-> Redirected to slot [7455] located at 192.168.1.25:7001
OK
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • redis集群分为服务端集群和客户端分片,redis3.0以上版本实现了集群机制,即服务端集群,3.0以下使用客户...
    hadoop_null阅读 1,609评论 0 6
  • 在我的docker安装redis里,已经说明过docker安装redis的流程,对于redis的安装下面文章很多部...
    szgl_lucifer阅读 12,806评论 1 23
  • 1 Redis介绍1.1 什么是NoSql为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方...
    克鲁德李阅读 5,382评论 0 36
  • 两种适用于孩子的记录工具: 一日时间记录表: 适合阶段性使用,记录时间的大类,要对现状做出分析和思考。 可以帮助家...
    rieichin阅读 126评论 0 0
  • 尊敬的领导: 您好! 感谢您在百忙之中阅读我的自荐信! 我是来自浙江大学计算机专业2012级的硕士生,...
    sunny_aday阅读 779评论 0 21