redis6.0集群搭建记录

集群搭建

记录自己搭建Redis及集群的过程,希望下次长点脑子。。。
搭建环境

腾讯云 CentOS 7.6(一台)
redis 6.0.16
搭建用户:普通用户(因此踩坑了。。。)

搭建过程

搭建步骤参考:redis6.0.+ 版本 集群搭建Redis6.0集群搭建与简单使用

问题&解决
  1. make编译报错
    参考文章中有提醒:安装redis6.0.1,gcc版本要在5.3以上!!!
    我检查了,版本4.8.5,不对,需要升级版本。
    然后,我用root用户升级了gcc,又用root检查了gcc版本,版本已符合条件。OK,开干,于是我继续用普通用户安装redis,然后,依然报错,why???
    最后检查一圈才发现,因为当前普通用户的xshell连接是在root用户升级gcc前就打开的,所以gcc升级后,当前连接的gcc依然停留在4.8.5,我升级了个寂寞。。。
    解决:当前shell执行 scl enable devtoolset-9 bash 是gcc新版本生效(或者断开连接再重连?)

    这不算坑,这算是没脑子。。。

  2. 集群搭建报错
    参考文章中有提醒:创建集群时使用绝对ip,不要使用127.0.0.1,于是我使用了腾讯云的内网ip,但当执行 redis-cli --cluster create ... --cluster-replicas 1 后报错,提示拒绝连接。emmmmm
    问题查找:参考阿里云服务器搭建Redis集群踩到的坑,查明,redis.conf 文件的bind配置错误。bind的作用是用于限制哪些ip可以连接服务,默认bind配置为:172.0.0.1,限制只有本机可以连接服务,创建集群时使用的是腾讯云的内网IP,因此被拒绝访问。
    解决:将bind配置修改为 0.0.0.0 ,可以允许所有ip访问,再次执行redis-cli --cluster create ... --cluster-replicas 1 后,集群创建成功。

    参考文章中也提到了bind的问题,但是我没仔细看。。。

  3. redis-cli命令不能直接使用
    使用redis-server 报错 -bash: redis-server: command not found
    因为redis执行 make install 时自定义了安装目录,因此 redis-cli、redis-server等都不是全局命令,将安装目录下的redis-cli、redis-server 复制到/use/bin下即可。

    我何必要自定义安装目录呢???


2022-03-17更新
4. 外网项目连接时报错
在外网中springboot项目中链接该redis,配置文件中写的公网IP,但链接是打断点发现项目从集群获取信息后转换成了腾讯云的内网ip,导致链接报错。
解决:参考文章云服务器Redis集群部署及客户端通过公网IP连接问题,将redis.config中的cluster-announce-ip配置写死为云服务器的公网ip即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值