0
点赞
收藏
分享

微信扫一扫

Docker部署redis集群

Spinach菠菜 2023-06-30 阅读 65


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

举报

相关推荐

0 条评论