前言我们已经搭建好了数据库集群,下面我们来部署Redis集群。

安装Redis镜像

# docker pull yyyyttttwwww/redis

重命名

# docker tag yyyyttttwwww/redis redis
# docker rmi yyyyttttwwww/redis

创建Redis集群net2网段

# docker network create --subnet=172.19.0.0/16 net2

运行Redis容器,并进入容器

# docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
# docker exec -it r1 bash

配置Redis节点

# vi /usr/redis/redis.conf

修改配置文件中如下信息

#以后台程序运行
daemonize yes
#开启集群
cluster-enabled yes
#集群配置文件
cluster-config-file nodes.conf
#设置超时时间
cluster-node-timeout 15000
#开启AOF模式,日志功能
appendonly yes

进入目录,开启Redis服务

# cd /usr/redis/src
# ./redis-server ../redis.conf

这样就创建了一个Redis节点了,依照上面操作创建其他Redis节点

安装redis-trib.rb

redis-trib.rb是基于Ruby的Redis集群命令行工具,下载地址https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz
docker pull yyyyttttwwww/redis拉取的镜像,在容器的usr/redis/src目录下已经事先下载好了redis-trib.rb

# mkdir /usr/redis/cluster
# cp /usr/redis/src/redis-trib.rb /usr/redis/cluster
# apt-get install ruby
# apt-get install rubygems
# gem install redis

创建Redis集群

# ./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379

验证

#进入r1节点
docker exec -it r1 bash
#使用redis-cli连接redis客户端
/usr/redis/src/redis-cli -c
#写入数据
set a 10


这个数据最终是存到172.19.0.4这个节点了