当我们关闭虚拟机时, 而虚拟机上有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集群启动正常

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐