使用ruby 进行redis集群安装
环境:centos7、docker 、有外网
1、下载镜像
docker pull redis
docker pull ruby
2、建配置模板
在/home 目录下创建redis-cluster文件夹并在redis-cluster文件夹下创建配置文件redis-cluster.conf cd /home && mkdir redis-cluster && touch redis-cluster.conf 打开redis-cluster.conf 并插入配置信息如下: cat <<EOF >/home/redis-cluster.conf port \${PORT} cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 cluster-announce-ip 192.168.10.44 cluster-announce-port \${PORT} cluster-announce-bus-port 1\${PORT} appendonly yes EOF
3、建网络
docker network create redis-net docker network ls
4、建配置
for port in `seq 6000 6005`; do mkdir -p /home/redis-cluster/${port}/conf && PORT=${port} envsubst < ./redis-cluster.conf > /home/redis-cluster/${port}/conf/redis.conf && mkdir -p /home/redis-cluster/${port}/data;done
5、启动redis
for port in `seq 6000 6005`; do docker run -d -ti -p ${port}:${port} -p 1${port}:1${port} -v /home/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /home/redis-cluster/${port}/data:/data --restart always --name redis-${port} --net redis-net --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf; done
6、加入集群
echo yes | docker run -i --rm --net redis-net ruby sh -c ' gem install redis && wget http://download.redis.io/redis-stable/src/redis-trib.rb && ruby redis-trib.rb create --replicas 1 '"$(for port in `seq 6000 6005`; do echo -n "$(docker inspect --format '{{ (index .NetworkSettings.Networks "redis-net").IPAddress }}' "redis-${port}")":${port} ' ' ; done)"
7、安装 redis-cli
cd /tmp wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz cd redis-stable make 报错折执行下面语句 make MALLOC=libc cp src/redis-cli /usr/bin/
8、检测redis集群
redis-cli -h 192.168.10.44 -p 6000 CLUSTER NODES redis-cli -h 192.168.10.44 -p 6000 -c set a 3 get a
做一个决定,并不难,难的是付诸行动,并且坚持到底。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)