CentOS6.5 中安装集群版redis

来源:互联网 发布:web编程软件 编辑:程序博客网 时间:2024/06/06 02:44

1.redis-cluster架构图

这里写图片描述

2.架构细节:

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

(2) 节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护

node<->slot<->value
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

3.集群搭建

这里使用伪分布式搭建redis-cluster,集群中应该至少有三个节点,每个节点有一备份节点。需要6台服务器。

第一步:创建6个redis实例指定端口从7001到7006

3.1.1 新建一个 redis-cluster 文件夹
[root@localhost local]# mkdir redis-cluster

这里写图片描述

3.1.2 复制6份单机版中 的redis 到 redis-cluster 中

单机版安装:CentOS6.5 中安装单机版redis

需要删除 dump.rdb文件

[root@localhost local]# cp -r redis redis-cluster/

这里写图片描述

第二步:修改redis.conf 打开Cluster-enable yes前面的注释 修改port。

这里写图片描述

第三步:需要一个ruby脚本。在redis源码文件夹下的src目录下。redis-trib.rb, 拷贝到 redis-cluster 下

cp /usr/local/redis-3.2.6/src/redis-trib.rb  /usr/local/redis-cluster/

第四步:执行ruby脚本需要安装ruby环境。

1、yum install ruby2、yum install rubygems3、安装redis-trib.rb运行依赖的ruby的包。

下载redis-3.2.2.gem

redis-3.3.0 官网下载地址: https://rubygems.org/gems/redis/versions/3.3.0
redis-3.0.0 官网下载地址:https://rubygems.org/downloads/redis-3.0.0.gem

下载之后 上传并安装

[root@localhost donggua]# gem install redis-3.2.2.gem gem install [redis-3.2.2.gem 长传路径]

第五步:使用脚本启动所有的redis实例。

[root@localhost redis-cluster]# vim redis-cluster-start.sh 
#!/bin/shcd redis01/bin./redis-server redis.confcd ../..cd redis02/bin./redis-server redis.confcd ../..cd redis03/bin./redis-server redis.confcd ../..cd redis04/bin./redis-server redis.confcd ../..cd redis05/bin./redis-server redis.confcd ../..cd redis06/bin./redis-server redis.confcd ../..

启动:

[root@localhost redis-cluster]# ./redis-cluster-start.sh 

第六步:使用redis-trib.rb创建集群。

./redis-trib.rb create --replicas 1 192.168.31.99:7001 192.168.31.99:7002 192.168.31.99:7003 192.168.31.99:7004 192.168.31.99:7005  192.168.31.99:7006

这里写图片描述
至此,redis集群搭建完毕。

客户端连接

使用客户端连接集群: redis01/redis-cli -p 7001 -c
这里写图片描述

后面将会基于单机版 和集群版 来讲解一些细节和理论知识。
1.Redis学习-配置
2.Redis学习-持久化
3.Redis学习-数据结构

0 0
原创粉丝点击