Redis Cluster 简单安装配置
1 新建目录 “/app/redis”,输入命令 mkdir -p /app/redis
2 先安装ruby-2.3.1.tar.gz
3 测试ruby是否安装成功,输入命令:gem,如果显示以下信息表示成功
4 解压 redis-3.2.1.zip 得到redis-3.2.1.gem
5 安装redis gem : gem install --local redis-3.2.1.gem -V
6 解压 redis-3.2.0.tar.gz 拷贝到/app/redis/redis-3.2.0,并安装
7 测试redis是否安装成功,输入命令:“redis-server”,启动服务,信息如下
8 测试通过之后,因为6379端口没有配置后台启动,所以直接CTRL+C结束该进程,或者直接关闭shell窗口也可停止redis
9 创建集群需要的目录
mkdir /app/redis/redis-nodes
cd /app/redis/redis-nodes
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
mkdir 7006
mkdir 7007
mkdir 7008
10 修改配置文件
从/app/redis/redis-3.2.0拷贝redis.conf配置文件的到上述7001~7008文件下并修改配置文件中的下面选项
bind 0.0.0.0 #绑定的主机地址
port 7001 #每个节点目录对应同样的端口
tcp-backlog 1024 #TCP发送队列即Send-Q大小
tcp-keepalive 60 # redis服务器与客户端保活参数
daemonize yes #启用守护进程
pidfile /app/redis/redis-nodes/7001/redis.pid #进程文件路径
logfile "/app/redis/redis-nodes/7001/redis.log" #日志文件路径
dir /app/redis/redis-nodes/7001/ #节点目录
maxclients 10000 #同一时间最大客户端连接数
maxmemory 1.5gb #redis最大内存限制
appendonly yes #设置redis启动自动加载appendonly.aof文件
cluster-enabled yes #开启集群
cluster-config-file nodes.conf #集群配置文件
cluster-node-timeout 5000 #集群节点超时时间
11 启动集群节点
redis-server /app/redis/redis-nodes/7001/redis.conf,其他节点以此类推
12 启动之后使用命令查看redis的启动情况
ps -ef|grep redis
13 启动服务器的主从复制
比如有三台服务器10.135.6.215/216/217,每台服务器8个节点,整个集群环境共24个节点
14 随机选择在一台服务器上执行以下命令
cd /app/redis/redis3.2.0/src
./redis-trib.rb create --replicas 1 10.135.6.215:7001 10.135.6.215:7002 10.135.6.215:7003 10.135.6.215:7004 10.135.6.216:7001 10.135.6.216:7002 10.135.6.216:7003 10.135.6.216:7004 10.135.6.217:7001 10.135.6.217:7002 10.135.6.217:7003 10.135.6.217:7004 10.135.6.215:7005 10.135.6.215:7006 10.135.6.215:7007 10.135.6.215:7008 10.135.6.216:7005 10.135.6.216:7006 10.135.6.216:7007 10.135.6.216:7008 10.135.6.217:7005 10.135.6.217:7006 10.135.6.217:7007 10.135.6.217:7008
15 查看集群启动状态,输入命令:redis-cli -c -p 7001
16 查看主从节点状态,输入命令:cluster nodes
17 故障场景
当redis-cluster重启再次启动时候, 要把每个节点下的除redis.conf的其他文件全部删除,否则创建主从复制的时候会出现失败:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?