Redis问题记录

问题1:

redis:编译时报错 /bin/sh: cc: command not found

解决方案:

yum -y install gcc gcc-c++ libstdc++-devel

问题2:

fatal error: jemalloc/jemalloc.h: No such file or directory

解决方案:

make MALLOC=libc

问题3:

使用make指令编译之后,使用make test进行测试

[root@localhost redis-6.2.1]# make test

cd src && make test

make[1]: Entering directory `/usr/local/servers/redis_cluster/redis-6.2.1/src'

CC Makefile.dep

make[1]: Leaving directory `/usr/local/servers/redis_cluster/redis-6.2.1/src'

make[1]: Entering directory `/usr/local/servers/redis_cluster/redis-6.2.1/src'

You need tcl 8.5 or newer in order to run the Redis test

make[1]: *** [test] Error 1

make[1]: Leaving directory `/usr/local/servers/redis_cluster/redis-6.2.1/src'

make: *** [test] Error 2

解决方案:

解决办法是用yum安装tcl8.5(或去tcl的官方网站http://www.tcl.tk/下载8.5版本,并参考官网介绍进行安装)

yum install tcl

 

问题4:

redis拒绝连接:Could not connect to Redis at 192.168.xx.xxx:6379: Connection refused

解决方案:

最后发现排错时发现配置文件中bind绑定的只有bind127.0.0.1,

而在配置文件redis.conf中加上 bind 192.168.xx.xxx,即外部可访问的IP地址

之后就能够正常连接了

 

问题5:

Could not create server TCP listening socket 192.168.52.130:7001: bind: Cannot assign requested address

解决方案:

配置文件中bind参数配置绑定服务器IP,增加了多个IP地址,且为不同的服务器导致报错

bind绑定服务器IP地址,可以绑定服务器实际IP,也可绑定localhost,

需要注意的地方在于:如果在bind配置项中未绑定127.0.0.1,则在使用服务器自身登陆redis时,也须通过“redis-cli -p port1 -h IP地址”的方式登陆。

 

问题6:

Redis集群一直Waiting for the cluster to join... 再次进行连接时首先需要以下操作

解决方案:

1、在redis.conf配置文件中, cluster-config-file配置项中的集群配置文件名称需要与其它节点的名称保持互斥

2、CentOS服务器中,对firewalld-service,除了对redis的服务端口放开外,对对应端口+10000后的端口也要放开。

如:我在我的Linux服务器上配置的redis端口分别是7001,7002,7003,7004,7005,7006

我对防火墙的操作如下:

firewall-cmd --zone-public --add-port=7001/tcp --permanet

firewall-cmd --zone-public --add-port=17001/tcp --permanet

firewall-cmd --zone-public --add-port=7002/tcp --permanet

firewall-cmd --zone-public --add-port=17002/tcp --permanet

firewall-cmd --zone-public --add-port=7003/tcp --permanet

firewall-cmd --zone-public --add-port=17003/tcp --permanet

firewall-cmd --zone-public --add-port=7004/tcp --permanet

firewall-cmd --zone-public --add-port=17004/tcp --permanet

firewall-cmd --zone-public --add-port=7005/tcp --permanet

firewall-cmd --zone-public --add-port=17005/tcp --permanet

firewall-cmd --zone-public --add-port=7006/tcp --permanet

firewall-cmd --zone-public --add-port=17006/tcp --permanet

systemctl restart firewalld.service

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值