docker 根据redis-trib.rb创建redis集群

7 篇文章 0 订阅

docker安装3个master,3个slave

1.docker 安装

①yum -y update yum install -y docker 安装docker

②docker启动,关闭,重启

service docker start

service docker stop

service docker restart

2.安装redis镜像

docker pull yyyyttttwwww/redis

docker tag yyyyttttwwww/redis redis

docker network create --subnet=172.19.0.0/16 net2

docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash
docker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash
docker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash
docker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash

docker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash

3.配置redis

daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000

appendonly yes

bind 127.0.0.1 172.19.0.2

注意这里一定要设置:bind 127.0.0.1 172.19.0.2 否则报错误 Connect to 127.0.0.1 Redis Server

这样r1-r6都设置完后,启动redis

4.执行redis-trib.rb

cd /usr/redis/cluster

执行 ./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

5.可能遇到的问题

(1)错误提示是

      slot插槽被占用了(这是 搭建集群前时,以前redis的旧数据和配置信息没有清理干净。)

解决方案是

          用redis-cli 登录到每个节点执行  flushall  和 cluster reset  就可以了。

然后重新执行群集脚本命令:

./redis-trib.rb create --replicas 1 192.168.*.*:7001 192.168.*.*:7002 192.168.*.*:7003 192.168.*.*:7004 192.168.*.*:7005  192.168.*.*:7006

(2)waiting for the cluster to join 一直等待

#centos7.4服务器

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

systemctl status firewalld.service #防火墙状态
systemctl start firewalld.service   #防火墙开启
systemctl disable firewalld.service #防火墙不可用
firewall-cmd --zone=public --add-port=80/tcp --permanent #开启端口
命令含义:
--zone #作用域
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效
重启防火墙
firewall-cmd --reload


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值