Redis docker集群重启

当我们关闭虚拟机时, 而虚拟机上有6个redis集群,这是redis集群也就全部关闭了,那么如何重新启动redis集群呢?

首先严谨起见,我们启动其中一个redis节点

docker start r1 #我第一个redis容器的名字 

lsof -i :5001 #redis 集群在启动时,我为容器指定了ip : 172.19.0.2, 映射端口是5001->6379 ,这里检查端口号是否正常监听

 

#如果忘记了容器的ip怎么办?

docker inspect +容器名/容器id,你会看到IPv4Address就知道了

 

#进入容器,启动redis

docker exec -it r1 bash 

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

 

#客户端登陆测试 ,-h指定自己容器的ip 

./redis-cli -h 172.19.0.2 

#测试docker容器和宿主机连通性

telnet 172.19.0.2 6379 

#测试宿主机和最外层windows环境连通性

windows --> cmd --> telnet 虚拟机ip 5001 #5001是docker容器6379映射到宿主机的端口

#其他节点也是这种启动方式,但可以同时启动多节点:docker start r1 r2  r3 r4 r5 r6 

#进入每个redis 容器启动服务: 

cd /usr/redis/src

./redis-server ../redis.conf

#进入r1 节点,检查集群健康状况

cd /usr/redis/cluster

./redis-trib.rb check 172.19.0.2:6379   # r1 的ip和r1 redis启动端口,很显然,集群正常,即时重启也没关系

 

#测试

./redis-cli -h 172.19.0.2 

#报错

原因是没有加-c启动客户端,所以修改为

./redis-cli  -c  -h 172.19.0.2 

显然数据被转发到了其他redis节点上,显示redis集群启动正常

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker中部署Redis集群,可以使用Redis官方提供的Docker镜像,并使用Docker Compose来编排容器。以下是一个简单的Docker Compose文件示例: ``` version: '3' services: redis-1: image: redis command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 volumes: - ./redis-1:/data ports: - "6379" redis-2: image: redis command: redis-server --port 6380 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 volumes: - ./redis-2:/data ports: - "6380" redis-3: image: redis command: redis-server --port 6381 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 volumes: - ./redis-3:/data ports: - "6381" redis-4: image: redis command: redis-server --port 6382 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 volumes: - ./redis-4:/data ports: - "6382" redis-5: image: redis command: redis-server --port 6383 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 volumes: - ./redis-5:/data ports: - "6383" redis-6: image: redis command: redis-server --port 6384 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 volumes: - ./redis-6:/data ports: - "6384" ``` 在这个示例中,我们定义了6个Redis容器,每个容器都运行在不同的端口上,并使用相同的配置文件。我们还将每个容器的数据卷映射到本地文件系统上,以便在容器后保留数据。 要Redis集群,请按照以下步骤操作: 1. 在本地创建一个目录,例如“redis-cluster”。 2. 将上面的Docker Compose文件保存为“docker-compose.yml”并将其放入该目录中。 3. 打开终端并导航到该目录。 4. 运行“docker-compose up”命令以Redis容器。 5. 运行以下命令以创建Redis集群: ``` docker exec -it redis-1 redis-cli --cluster create \ 172.20.0.2:6379 \ 172.20.0.3:6379 \ 172.20.0.4:6379 \ 172.20.0.5:6379 \ 172.20.0.6:6379 \ 172.20.0.7:6379 \ --cluster-replicas 1 ``` 在这个命令中,我们使用“redis-cli”工具创建了一个6个节点的Redis集群,并将每个节点的IP地址和端口号传递给命令。我们还指定了一个副本,以便在主节点故障时自动切换到备份节点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值