【centos7系统】Redis-6.2.2版本集群搭建

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。


前redis最新版本已经是6.2.4,在集群搭建上和redis3.x、redis4.x区别很大。redis5以后,就不需要安装ruby了,并且新版本redis创建集群不再使用redis-trib.rb ,而使用redis-cli。以下为新版redis6.2.2集群搭建记录。

集群搭建规划:

|------------|--------------|-----------------|
| IP | hostname | redis实例&端口 |
| 10.0.0.101 | test101 | 7000、7001 |
| 10.0.0.102 | test102 | 7000、7001 |
| 10.0.0.103 | test103 | 7000、7001 |

环境准备:

1、3台服务器都关闭防火墙和selinux2、3台服务器修改以下参数:

复制代码
echo '* soft nofile 102400' >> /etc/security/limits.conf
echo '* hard nofile 204800' >> /etc/security/limits.conf
echo '* soft memlock unlimited' >> /etc/security/limits.conf
echo '* hard memlock unlimited' >> /etc/security/limits.conf
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6

echo "### update the /etc/sysctl.conf"
echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
sysctl -p

搭建和启动redis实例

在test101安装redis,步骤:

1、将redis-6.2.2.tar.gz(下载地址:https://redis.io/download)上传到服务器上,解压并编译

复制代码
yum -y install gcc
tar xzf redis-6.2.2.tar.gz -C /home/
cd /home/redis-6.2.2
make MALLOC=libc 
make PREFIX=/home/redis-6.2.2  install

2、创建相关目录,修改配置文件

复制代码
mkdir /home/rediscluster/{7000,7001} -p
mkdir /homerediscluster/7000/{conf,data,log} -p
mkdir /home/rediscluster/7001/{conf,data,log} -p
cp /home/redis-6.2.2/redis.conf /home/rediscluster/7000/conf/
cp /home/redis-6.2.2/redis.conf /home/rediscluster/7001/conf/

3、修改配置文件修改/home/rediscluster/7000/conf/redis.conf(以下集群配置为必须修改,其余配置根据实际情况修改):

复制代码
第75行:bind 10.0.0.101
第98行:port 7000
第257行:daemonize yes
第289行: pidfile "/home/rediscluster/7000/data/redis_7000.pid"
第302行:logfile "/home/rediscluster/7000/log/redis_7000.log"
第431行:dbfilename dump-7000.rdb
第454行: dir "/home/rediscluster/7000/data/"
第484行:masterauth "myredis"
第901行: requirepass "myredis"
第1385行:cluster-enabled yes
第1399行:cluster-node-timeout 5000

将7000目录的配置文件拷贝到7001实例并注意将配置文件的7000改为7001:

复制代码
cp /home/rediscluster/7000/conf/redis.conf  /home/rediscluster/7001/conf/redis.conf
sed -i 's#7000#7001#g' /home/rediscluster/7001/conf/redis.conf

改好之后,目录结构如下:

4、配置环境变量

复制代码
echo 'export  REDIS_HOME=/home/redis-6.2.2' >> /etc/profile 
echo 'export  PATH=$REDIS_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

5、启动redis:

复制代码
redis-server /home/rediscluster/7000/conf/redis.conf
redis-server /home/rediscluster/7001/conf/redis.conf

6、在test102和test103重复test101的搭建步骤,注意将redis.conf里面的bind IP改为本机IP。保证三台服务器的redis节点正常启动:

创建redis集群

在三台服务器的redis实例成功启动后,在test101上执行命令创建集群(注意如果在redis.conf中设置了密码,这里就要加上-a '密码',如果没有密码,就不加-a参数):

复制代码
redis-cli --cluster create --cluster-replicas 1 10.0.0.101:7000  10.0.0.101:7001  10.0.0.102:7000  10.0.0.102:7001  10.0.0.103:7000  10.0.0.103:7001 -a myredis

创建过程截图,注意图中确认输入"yes":

验证redis集群

集群创建成功后,登录redis验证,注意加上集群参数 -c:

复制代码
# redis-cli -h 10.0.0.101 -p 7000 -a myredis -c  #登录redis集群
10.0.0.101:7000> cluster nodes  #查看集群节点
10.0.0.101:7000> cluster info   #查看集群信息

创建个key验证:

复制代码
10.0.0.101:7000> set name crystal
-> Redirected to slot [5798] located at 10.0.0.102:7000
OK
10.0.0.102:7000> get name
"crystal"
10.0.0.102:7000> 
10.0.0.102:7000> del name
(integer) 1
10.0.0.102:7000> 
10.0.0.102:7000> get name
(nil)
10.0.0.102:7000> 
10.0.0.102:7000>

执行过程截图:

验证OK,redis6.2.2 集群搭建完毕。

相关推荐
数智化管理手记32 分钟前
主数据重复、错漏频发?一站式主数据管理平台如何落地?
大数据·运维·数据库·人工智能·数据挖掘
吴声子夜歌36 分钟前
MongoDB 4.2——选择片键
数据库·mongodb
天天进步一点点1 小时前
QSqlQuery删除sqlite数据库执行drop数据表报错database table is locked unable to fetch row问题
数据库·oracle·sqlite
音视频工程实战1 小时前
PromptQL 新手入门与实战指南
数据库·sql·算法
清川渡水2 小时前
NL2SQL 的正确打开方式:从「AI 猜 SQL」到「置信度闭环」的工程化落地
数据库·人工智能·sql
TDengine (老段)2 小时前
TDengine Go 与 Rust 连接器 — 高性能异步访问
大数据·数据库·物联网·golang·rust·时序数据库·tdengine
东方佑2 小时前
MA-RMSNorm:打破“缩放换智能”的魔咒,大模型归一化的一次范式革命!
数据库·人工智能·计算机视觉
云和恩墨3 小时前
「云帆计划·长沙站」活动成功举办,云和恩墨与紫薇垣和湖南金悦科技分别签约并授牌,本地伙伴生态建设加速
数据库·科技
千维百策6664 小时前
如何管理错误预算:提升服务可靠性与 SLO 达成率的实践经验
服务器·网络·数据库
Y3815326625 小时前
2026 年 7 月,SERP API 调用的稳定性实战:超时、重试、降级
开发语言·数据库·人工智能·php