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说明集群部署成功了。