1.规划
ip地址  | 端口  | 数据存储位置  | 
192.168.103.58  | 7000  | /var/lib/redis/7000  | 
7003  | /var/lib/redis/7003  | |
192.168.103.41  | 7001  | /var/lib/redis/7001  | 
7004  | /var/lib/redis/7004  | |
192.168.103.124  | 7002  | /var/lib/redis/7002  | 
7005  | /var/lib/redis/7005  | 
2.创建数据存储目录,及配置文件,导入镜像文件
2.1创建好用于存储 Redis的配置目录
在192.168.103.58 执行
mkdir -p /var/lib/redis/7000 && mkdir -p /var/lib/redis/7003
在192.168.103.41执行
mkdir -p /var/lib/redis/7001 && mkdir -p /var/lib/redis/7004
在192.168.103.124 执行
mkdir -p /var/lib/redis/7002 && mkdir -p /var/lib/redis/7005
2.2 创建相关的配置文件
在192.168.103.58上执行
cat > /var/lib/redis/7000/redis.conf << EOFport 7000cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize noprotected-mode nopidfile /data/redis.pid
requirepass qwerty
EOF
cat > /var/lib/redis/7003/redis.conf << EOFport 7003cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize noprotected-mode nopidfile /data/redis.pid
requirepass qwertyEOF
第二台服务器192.168.103.41执行
cat > /var/lib/redis/7001/redis.conf << EOFport 7001cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize noprotected-mode nopidfile /data/redis.pid
requirepass qwertyEOF
cat > /var/lib/redis/7004/redis.conf << EOFport 7004cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize noprotected-mode nopidfile /data/redis.pid
requirepass qwertyEOF
第三台服务器192.168.103.124执行
cat > /var/lib/redis/7002/redis.conf << EOFport 7002cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize noprotected-mode nopidfile /data/redis.pid
requirepass qwertyEOF
cat > /var/lib/redis/7005/redis.conf << EOFport 7005cluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000appendonly yesdaemonize noprotected-mode nopidfile /data/redis.pid
requirepass qwertyEOF
2.3导入镜像文件
在分别在3台服务器上导入已经下载好的镜像文件
docker load -I redis.tar
3.运行镜像文件
在第一台服务器10.250.103.58执行如下命令
docker run -d -v /var/lib/redis/7000:/data \--privileged=true \--restart=always \--net host \--name redis-7000 \redis:4.0 redis-server /data/redis.conf
docker run -d -v /var/lib/redis/7003:/data \--privileged=true \--restart=always \--net host \--name redis-7003 \redis:4.0 redis-server /data/redis.conf
返回效果如下图
在第二台服务器192.168.103.41执行
docker run -d -v /var/lib/redis/7001:/data \--privileged=true \--restart=always \--net host \--name redis-7001 \redis:4.0 redis-server /data/redis.conf
docker run -d -v /var/lib/redis/7004:/data \--privileged=true \--restart=always \--net host \--name redis-7004\redis:4.0 redis-server /data/redis.conf
返回信息如图
、
在第三台服务器192.168.103.124执行
docker run -d -v /var/lib/redis/7002:/data \--privileged=true \--restart=always \--net host \--name redis-7002 \redis:4.0 redis-server /data/redis.conf
docker run -d -v /var/lib/redis/7005:/data \--privileged=true \--restart=always \--net host \--name redis-7005 \redis:4.0 redis-server /data/redis.conf
返回信息如图:
4.Redis集群初始化
在第一台服务器192.168.103.58执行如下命令
docker exec -it redis-7000 redis-cli -p 7000 -a qwerty --cluster create 192.168.103.58:7000 192.168.103.41:7001 192.168.103.124:7002 192.168.103.58:7003 192.168.103.41:7004 192.168.103.124:7005 --cluster-replicas 1
[备注: -a xxx 其中xxx代表设置的是密码]
返回信息如图
发现集群初始化成功了
5.验证集群的状态
在第一台服务器上执行如下命令
docker exec -it redis-7000 redis-cli -p 7000 -c
返回如下信息
集群状态出现cluster_state: ok说明集群部署成功了。










