Centos 7 搭建 Redis 单节点集群

博客介绍了Redis安装过程,包括解压、编译、安装等步骤,还说明了Redis集群的启动、验证、查看主从关系及关闭操作。重点总结了集群启动报错问题,如(error) MOVED的原因和解决方案,以及节点非空报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Redis是C语言开发,安装Redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
 yum -y install gcc automake autoconf libtool make 
  • 解压、编译、安装
tar -zxvf redis-5.0.0.tar.gz
cd redis-5.0.0
make && make install
  • 新建文件夹redis_cluster
mkdir redis_cluster
cd redis_cluster
mkdir 7000 7001 7002 7003 7004 7005 
  • 拷贝redis.conf 文件到 7000文件夹下
cp redis.conf /usr/local/redis_cluster/7000
  • 修改一下属性
# 关闭保护模式用于官网访问
protected-mode no
port 7000
# 开启集群模式
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 5000
#后台启动
daemonize yes
pidfile /var/run/redis_7000.pid
logfile "7000.log"
# 用于连接主节点的密码
masterauth fengjiaxing
# 设置redis密码,各个节点操持一致
requirepass fengjiaxing

  • 依次进行复制配置文件,并修改
cp ./7000/redis.conf  ./7001/
cp ./7000/redis.conf  ./7002/
cp ./7000/redis.conf  ./7003/
cp ./7000/redis.conf  ./7004/
cp ./7000/redis.conf  ./7005/
  • 全局替换,将7000端口,全部替换为7001端口,7002 7003 7004 7005 依次修改
:%s+7000+7001+g
  • 将redis目录下的src文件夹复制到redis_cluster 文件夹下
cp -r ./src/ /usr/local/redis_cluster
  • 进入到cd /usr/local/redis_cluster/目录依次启动服务器

./src/redis-server ./7000/redis.conf
./src/redis-server ./7001/redis.conf
./src/redis-server ./7002/redis.conf
./src/redis-server ./7003/redis.conf
./src/redis-server ./7004/redis.conf
./src/redis-server ./7005/redis.conf
  • 查看是否启动成功ps -ef |grep redis

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w08FUXn2-1605602231257)(130F8315C14E485FB472529BAC9F9B8D)]

  • 启动集群
 ./src/redis-cli --cluster create -a fengjiaxing 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
  • 启动结果

[外1

  • 集群的验证,启动某一个客户端./src/redis-cli -c -p 7000 -a fengjiaxing

在这里插入图片描述

  • 查看集群信息 info replication

在这里插入图片描述

  • 查看集群主从关系cluster nodes

在这里插入图片描述

  • 关闭集群
 /usr/local/redis_cluster/src/redis-cli -c -h 127.0.0.1 -p 7000 -a fengjiaxing shutdown
 /usr/local/redis_cluster/src/redis-cli -c -h 127.0.0.1 -p 7001 -a fengjiaxing shutdown
 /usr/local/redis_cluster/src/redis-cli -c -h 127.0.0.1 -p 7002 -a fengjiaxing shutdown
 /usr/local/redis_cluster/src/redis-cli -c -h 127.0.0.1 -p 7003 -a fengjiaxing shutdown
 /usr/local/redis_cluster/src/redis-cli -c -h 127.0.0.1 -p 7004 -a fengjiaxing shutdown
 /usr/local/redis_cluster/src/redis-cli -c -h 127.0.0.1 -p 7005 -a fengjiaxing shutdown

错误总结

关于集群启动报错问题

(error) MOVED 原因和解决方案

[ERR] Node 192.168.161.131:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值