欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

CentOS搭建Redis-cluster。corrupte cluster config file;redis requires Ruby version;can‘t connect to node

发布时间:2025/3/19 数据库 61 豆豆
生活随笔 收集整理的这篇文章主要介绍了 CentOS搭建Redis-cluster。corrupte cluster config file;redis requires Ruby version;can‘t connect to node 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1. 配置redis-cluster

1.1 先在CentOS安装Redis,然后再配置redis-cluster。首先创建两个目录用于存放redis-cluster的配置文件、日志信息以及持久化文件,如下图。

1.2 复制一份redis安装目录下的redis.conf配置文件至redis-cluster配置文件目录/etc/redis-cluster,命名为7001.conf并进行下列参数设置,注意cluster-config-file的文件名设置,如果存在覆盖情况,会报错Unrecoverable error:corrupted cluster config file

bind 192.168.56.101 # bind本机地址,而不是127.0.0.1 port 7001 # 方便集群管理 daemonize yes # 后台运行 pidfile "/var/run/redis_cluster_7001.pid" # 运行产生的进程文件 logfile "/var/redis-cluster/7001.log" # 日志文件 dir "/var/redis-cluster/7001" # 持久化目录 appendonly yes # 设置仅仅从aof备份文件恢复数据cluster-enabled yes # 开启redis-cluster cluster-config-file /etc/redis-cluster/n_7001.conf # redis-cluster配置文件路径不要和7001.conf文件重名,不然redis启动后该文件会覆盖原文件 cluster-node-timeout 10000 # 节点宕机时长

1.3 因为是3主3从,最终使用3台虚拟机来实现,所以一台虚拟机要配置两个redis-cluster,所以在当前虚拟机再类似配置一个7002,然后在另外两台虚拟机上配置7003、7004和7005、7006。本机的7002只需将1.2中参数的7001换成7002即可;其它机器7003等除了将7001进行替换,还需要修改bind的IP地址

1.4 配置redis-cluster启动脚本,将/etc/init.d的redis_6379复制并分别命名为redis_cluster_7001和redis_cluster_7002......,更改该文件的REDISPORT参数为我们设置的端口7001、7002.....。同时更改pidfile和dir两个参数(改为我们上面已设置的pidfile路径以及cluster-config-file的路径),如下图。

 

2. 创建redis-cluster集群

yum install ruby # 因为cluster的管理需要rb文件,所以需要安装ruby yum install rubygems gem install redis # 安装失败,可看接下来的解决方案# 复制到/usr/local/bin目录的文件可直接执行 cp /usr/local/redis-3.2.8/src/redis-trib.rb /usr/local/bin # 使用redis-trib.rb创建Redis集群 redis-trib.rb create --replicas 1 192.168.56.101:7001 192.168.56.101:7002 192.168.56.102:7003 192.168.56.102:7004 192.168.56.103:7005 192.168.56.103:7006

2.1 使用gem安装Redis失败,提示ERROR:  Error installing redis: redis requires Ruby version >= 2.3.0. 其实就是Ruby版本较低,升级Ruby貌似有点复杂,那就直接去gem官网下载redis.gem文件呗,我的redis是3.2.8版本,gem网上没有对应版本,于是下载了3.2.2版本的。下载后使用 gem install redis.3.2.2.gem 即可,如下图。

2.2 使用redis-trib.rb创建redis-cluster时失败,提示,can't connect to node 192.168.56.102

但是ping可以ping通,而且Redis没有设置密码。这时想起来之前手动搭建Redis集群时,也碰到连不上其它主机的情况,除了网络问题,其实就是ip地址没有使用真正的ip地址,而是使用127.0.0.1这种本地地址。使用 find / -name client.rb 指令找到配置文件client.rb,如下图。

然后可以看到里面的配置如下图,将host改为本机地址,port改为其中一个,如7001。

然后Redis全部重启,再次执行创建集群指令即可

最后创建redis-cluster成功如下图。

还可通过以下指令查看,输出结果和上面一致。

总结

以上是生活随笔为你收集整理的CentOS搭建Redis-cluster。corrupte cluster config file;redis requires Ruby version;can‘t connect to node的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。