前言
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于 内存 、 分布式 、可选持久性的键值对( Key-Value )存储数据库
安装单机版
搭建 Redis 集群
Redis 集群是一种高可用、可水平扩展的 Redis 部署方式。它将 Redis 数据库分布在多个节点上,是为了提供高性能、高可用性和可伸缩性而设计的分布式 Redis 解决方案
需要注意的点
- 配置、管理和维护成本相对高
- 不支持多数据库,只能使用 0 数据库
- 不支持跨节点的事务操作
- 批量操作时支持有限,如数据不在一个节点,则会报错
- 在部署 Redis 集群模式时,至少需要六个节点组成集群才能保证集群的可用性。
集群规划
集群部署
将上面的配置模板文件按下面的目录结构创建
- node-cluster
- redis-6380
- config
- redis.conf :需要配置模板中修改 port:6380
- compose.yml:需要配置模板中修改 container_name: cluster_redis_6380
- redis-6381
- config
- redis.conf :需要配置模板中修改 port:6381
- compose.yml:需要配置模板中修改 container_name: cluster_redis_6381
-
修改 redis.conf 中的 port
-
修改 compose.yml 中的 container_name: cluster_redis_6381
-
将 node-cluster 目录上传到准备的集群节点服务器:192.168.123.216,192.168.123.219,192.168.123.222
-
在服务器的对应目录中执行 docker compose up -d
,确保容器正常运行

-
依托于创建的 redis 容器,使用下面的命令创建集群并添加节点
devops02=192.168.123.216
devops03=192.168.123.219
devops04=192.168.123.222
docker exec -it cluster_redis_6380 redis-cli -p 6380 --cluster create ${devops02}:6380 ${devops02}:6381 ${devops03}:6380 ${devops03}:6381 ${devops04}:6380 ${devops04}:6381 --cluster-replicas 1 --cluster-yes

-
连接集群测试(redis-cli)
-
docker exec -it cluster_redis_6380 redis-cli -p 6380 -c
- 查看集群信息:
cluster info
- 查看集群节点信息:
cluster nodes

- 本地连接测试:
redis-cli -h 192.168.123.216 -p 6380 -c



至此,终于是一步步的创建好了 Redis 集群
集群外部访问问题
当 redis.conf 没有设置 cluster-announce-ip 时,使用redis-cli访问没有问题,但是会发现连接时访问节点会变成容器内部IP

导致的结果就是 使用一些Redis客户端连接会超时,无法使用。要解决这个问题,需要将每个节点的 redis.conf 中的 cluster-announce-ip 配置修改为其宿主机IP即可,可以这样做
-
新建对应文件夹及配置
-
复制对应IP文件夹到服务器再创建集群即可
-
工具连接测试
后语
假期结束,先是折腾了一会创建集群密码的问题,然后又是尝试各种连接工具,终于搞定了集群的安装,完美的假期。