有多个redis节点构成的缓存结构。每个节点通过ping-pong机制通信,客户端只需要连上集群中的任意一个节点即可。
且每个redis节点的缓存数据都不相同,也不同担心其中一个节点蹦掉的问题。redis允许设置备份节点,来防止节点崩塌的问题。而且,redis集群存在通票容错机制确保redis节点不被误认为挂了,即当redis集群中,超过半数的节点ping某个节点不通时,才会认为该节点崩塌。
.
- 将bin目录拷贝,并修改名字
- 修改其中热redis.conf配置
- 创建redis-cluster目录,并将redis01复制六份,分别改名为redis01-06
并修改每个文件中的redis.conf的port分别为7001-7006
- 再在redis-cluster目录下创建批处理启动多个redis
- 然后 esc : wq 保存退出。
- 添加start-all的当前用户可执行权限
- 启动并检查
– 启动 https://blog.51cto.com/u_/start-all.sh
– 检查 ps -ef|grep reids

- 接着使用ruby脚本搭建集群
i. 先进入redis的源代码目录,将后缀为rb的文件复制到redis-clustser中。
这就是一个ruby的脚本,需要ruby的环境才能执行。
ii. 先安装ruby环境 在安装第三方包,redis-3.0.0.gem
- 【该命令会把gem安装到redis中】iii. 执行该脚本。
PS:其中ip按照你redis.conf配置的bind来。
中间输入yes.
- 三个M为主机,三个S为备份机。slot为所分他们的槽。
【关闭防火墙:因为redis除了用到了你看到的这些7001-7006的端口还有用到了17001-17006的端口】
- 问题1:
- 问题2:
bind 参数;
开始看了很多博文之类的,有说直接配置0.0.0.0(这个可以连接,但是会接受所以的连接请求,不安全)。
有说是需要绑定请求端的IP地址, 这个完全就连不上了。
自己试了才知道,正确的是配置redis所在服务器的IP地址。 如果服务器有客户端需要连此redis的话,要加配上127.0.0.1
其实还碰到了一些琐碎的问题,有的解决了,有的还没有解决。。很奇怪
- 有一个属于网络问题,有一个虚拟机,能ping同其他虚拟机,也能ping通网关,但是其他虚拟机ping不通他,网络连接方式是使用NAT,也确定关了防火墙。
- 在执行https://blog.51cto.com/u_/redis-trib.rb……时,一直停在waiting for the cluster to join………..
我查了,说是没有关防火墙的原因,可是确实都关了,用的ubuntu服务器,现在换成centos就可以了。 - 还有开始在安装redis时,执行以下指令时,
make install PREFIX=/usr/redis/
报错:
- make install PREFIX=/usr/redis
基本上就是这样了,其中bind这个配置着实是被误导的很久,试了很多都连不上!
总体上,觉得还是需要再细心些。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/202151.html