基于docker的redis集群的搭建方式
本篇基于docker的redis集群cluster搭建。
以三主三从进行测试,redis选用5.0之前的版本(redis5.0及之后的版本与redis5.0之前的版本搭建稍有不同,redis5.0之前的版本搭建略显复杂,所有以5.0之前的版本进行测试)。
5.0之后的可以参考另外一篇博客。
1、准备镜像
说明:此处我用的仓库自建镜像,用官方镜像亦可,具体可参考这篇文章
2、启动容器
dvr start redis
[root@iZuf612i9bshiuw3zzlfe9Z redis]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a30eb6b31dd7 redis:base "/usr/sbin/sshd -D" 7 seconds ago Up 5 seconds 0.0.0.0:6374->6379/tcp redis_redis6374_1 ca3d87fdfece redis:base "/usr/sbin/sshd -D" 43 seconds ago Up 42 seconds 0.0.0.0:6375->6379/tcp redis_redis6375_1 adf814337f42 redis:base "/usr/sbin/sshd -D" About a minute ago Up About a minute 0.0.0.0:6376->6379/tcp redis_redis6376_1 1f15f8336ff6 redis:base "/usr/sbin/sshd -D" About a minute ago Up About a minute 0.0.0.0:6377->6379/tcp redis_redis6377_1 565a1ce0511c redis:base "/usr/sbin/sshd -D" 2 minutes ago Up 2 minutes 0.0.0.0:6378->6379/tcp redis_redis6378_1 19df06bb5f90 redis:base "/usr/sbin/sshd -D" 4 minutes ago Up 4 minutes 0.0.0.0:6379->6379/tcp redis_redis6379_1
3、进入安装redis
docker exec -it redis_redis6379_1 bash apt update apt upgrade apt install redis -y
说明:其他容器亦同
4、修改配置文件
69 #bind 127.0.0.1 ::1 #注释掉此行 88 protected-mode no #关闭保护模式 136 daemonize yes #后台启动模式 以下是集群的修改: 814 cluster-enabled yes #开启 Redis Cluster 822 cluster-config-file nodes-6379.conf #集群配置文件,每个容器配置改唯一就行 828 cluster-node-timeout 15000 #集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障 672 appendonly yes #开启AOF模式
说明:其他容器的配置除了cluster-config-file nodes-6379.conf改为不同,其余配置均相同。
5、启动redis服务
root@redis6379:/# /etc/init.d/redis-server start Starting redis-server: redis-server. root@redis6379:/# ps -aux |grep redis redis 7376 0.0 0.1 48504 2572 ? Ssl 11:51 0:00 /usr/bin/redis-server *:6379 [cluster] root 7381 0.0 0.0 11460 724 ? S+ 11:51 0:00 grep --color=auto redis
6、拷贝redis-trib.rb
docker cp redis-trib.rb redis_redis6379_1:/usr/bin
说明:从5.0之前的版本里拷贝,tar包解压后的src目录下,附redis-4.0.11版本:http://download.redis.io/releases/redis-4.0.11.tar.gz
7、创建集群
#安装ruby环境 apt install -y ruby #安装redis gem install redis #创建集群 redis-trib.rb create --replicas 1 172.18.62.27:6379 172.18.62.29:6379 172.18.62.30:6379 172.18.62.31:6379 172.18.62.32:6379 172.18.62.33:6379
8、集群验证
#登录 redis-cli -c
说明:-c的目的是为解决“(error) MOVED 5798”报错 root@redis6379:/# redis-cli 127.0.0.1:6379> set name haha (error) MOVED 5798 172.18.62.29:6379 127.0.0.1:6379> exit root@redis6379:/# redis-cli -c 127.0.0.1:6379> set name haha -> Redirected to slot [5798] located at 172.18.62.29:6379 OK
《数据验证》验证如下:
《主从切换验证》验证如下:172.18.62.33为172.18.62.29的从,现在我们停掉29,测试33的切换
切换之前:
切换之后:
到此,redis集群cluster搭建完成!redis集群非docker基于5.0以上版本密码认证搭建可参考:redis5.0以上版本基于密码认证搭建
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
docker compose idea CreateProcess error=2 系统找不到指定的文件的问题
这篇文章主要介绍了docker compose idea CreateProcess error=2 系统找不到指定的文件的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-08-08Docker+Jenkins+Gitee自动化部署maven项目的实现
本文主要介绍了Docker+Jenkins+Gitee自动化部署maven项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-06-06快速使用docker-compose部署clickhouse的教程
ClickHouse 的工作速度比传统方法快 100-1000 倍。它适用于大数据、业务分析和时间序列数据。在这个小教程中,我将向您展示如何以最少的设置安装 ClickHouse,感兴趣的朋友一起看看吧2021-11-11vscode利用ssh配置docker容器并开启远程编程模式的详细步骤
这篇文章主要介绍了vscode利用ssh配置docker容器内开启远程编程模式,本文给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03
最新评论