Redis集群环境搭建

来源:互联网 发布:淘宝手机详情有用吗 编辑:程序博客网 时间:2024/05/14 13:03

1.介绍


① 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化带宽和传输速度。

② 节点的失效是通过集群中超过半数的节点检测失效时才生效。

③ 客户端与redis节点直连,不需要中间的代理层。客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。

④ redis-cluster把所有的物理节点映射到[0-16383] slot(插槽)上。cluster负责维护node <-> slot <-> value


2.修改redis.conf 配置文件

① 在redis1.conf、redis2.conf、redis3.conf分别设置不同端口 port 6380port 6381port 6382

② 修改redis.conf配置文件:开启集群 cluster-enabled yes

③ 修改redis.conf配置文件:指定集群的配置文件 cluster-config-file "nodes-xxxxx.conf"


然后开启3个端口的redis服务

redis-server ./redis1.conf

&& redis-server ./redis2.conf

&& redis-server ./redis3.conf

查看服务:ps -ef|grep redis


3.安装ruby环境

执行命令  :  yum-y install zlib ruby rubygems

安装gem  :  gem install -l redis-3.0.0.gem

4.创建集群环境

进入redis的安装包:

我的安装包路径:cd /opt/redis-3.0.2/src/

找到当前src下的 redis-trib.rb 文件


执行命令:

./redis-trib.rb create --replicas 0 192.168.174.128:6380 192.168.174.128:6381 192.168.174.128:6382

其中 --replicas 0:指定了从数据的数量为0
注意一点就是:上面的IP地址不可设置为127.0.0.1,如果设置了,那么redis就无法连接到集群了。

5.测试

在6380端口放入的键值abc 123


在6381端口获取值将报错


由于我没有使用默认的6379端口,所以直接使用redis-cli -c命令来重定向端口中的插槽将报错:


解决办法:指定端口号 redis-cli -c -p 6381命令:


结果:


可以发现,重定向到6380的插槽获取值了,集群部署成功。



原创粉丝点击