您的位置:首页 > 数据库 > Redis

Redis3.0.7 cluster/集群 安装配置教程

2016-03-08 17:30 344 查看
1、前言

环境:CentOS-6.7-i386-LiveDVD 安装的CentOs系统

节点: 6个节点,3个主节点、3个从节点(由于redis默认需要3个主节点,如果想每个主节点有一个从节点,这是最低配要求)

配置:端口都采用默认的6379

redis版本:目前官网最新的redis stable版本为:3.0.7(时间点:2016年3月10日)。

2、获取源码

在每台机器用命令:webget http://download.redis.io/releases/redis-3.0.7.tar.gz 获取redis3.0.7源码到你linux某目录。

3、修改配置
执行命令 tar -xvf redis-3.0.7.tar.gz 解压得到redis-3.0.7文件夹,修改其下的redis.conf,主要修改下面几项:

daemonize yes                                          # redis默认不是后台启动,这里修改成后台启动
cluster-enabled yes                                    # 允许redis支持集群模式
cluster-config-file nodes.conf                         # 节点配置文件
cluster-node-timeout 15000                             # 节点超时毫秒
appendonly yes
#port 7000                                             #如果你需要自定义端口可以用这个选项


注意:6个节点下的redis.conf都需要修改,可以修改一个之后拷贝过去。

4、编译源码

然后在6个节点的redis-3.0.7目录下执行 make 命令,编译源码,编译好后会在src文件夹生成redis-server等二进制文件

5、启动实例

在6个节点的redis-3.0.7目录下分别执行命令 src/redis-server,默认会使用redis.conf配置 ,这样每个节点就启动了一个实例。

6、搭建redis集群(在其中一个节点操作就可以了)
通过使用 Redis 集群命令行工具 redis-trib 创建集群, redis-trib 位于 Redis 源码的 src 文件夹中, 它是一个 Ruby 程序, 这个程序通过向实例发送特殊命令来完成创建新集群, 检查集群, 或者对集群进行重新分片(reshared)等工作。请先来到redis解压目录,cd src 进入src目录,然后执行下面命令:

./redis-trib.rb create --replicas 1 xxx.xxx.xxx.1:6379 xxx.xxx.xxx.2:6379 xxx.xxx.xxx.3:6379 xxx.xxx.xxx.4:6379 xxx.xxx.xxx.5:6379 xxx.xxx.xxx.6:6379


注意ip修改成自己的~~
命令的意义如下:
给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。

简单来说, 以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。

接着, redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中:

>>> Creating cluster
Connecting to node xxx.xxx.xxx.1:6379: OK
Connecting to node xxx.xxx.xxx.2:6379: OK
Connecting to node xxx.xxx.xxx.3:6379: OK
Connecting to node xxx.xxx.xxx.4:6379: OK
Connecting to node xxx.xxx.xxx.5:6379: OK
Connecting to node xxx.xxx.xxx.6:6379: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
xxx.xxx.xxx.1:6379
xxx.xxx.xxx.2:6379
xxx.xxx.xxx.3:6379
xxx.xxx.xxx.1:6379 replica #1 is xxx.xxx.xxx.4:6379
xxx.xxx.xxx.2:6379 replica #1 is xxx.xxx.xxx.5:6379
xxx.xxx.xxx.3:6379 replica #1 is xxx.xxx.xxx.6:6379
M: 9991306f0e50640a5684f1958fd754b38fa034c9 xxx.xxx.xxx.1:6379
slots:0-5460 (5461 slots) master
M: e68e52cee0550f558b03b342f2f0354d2b8a083b xxx.xxx.xxx.2:6379
slots:5461-10921 (5461 slots) master
M: 393c6df5eb4b4cec323f0e4ca961c8b256e3460a xxx.xxx.xxx.3:6379
slots:10922-16383 (5462 slots) master
S: 48b728dbcedff6bf056231eb44990b7d1c35c3e0 xxx.xxx.xxx.4:6379
S: 345ede084ac784a5c030a0387f8aaa9edfc59af3 xxx.xxx.xxx.5:6379
S: 3375be2ccc321932e8853234ffa87ee9fde973ff xxx.xxx.xxx.6:6379
Can I set the above configuration? (type 'yes' to accept): yes


7、测试集群

redis-cli -c -h xxx.xxx.xxx.1(集群中任意一个ip) -p 6379

8、附

好吧,最后我承认我是用虚拟机测试的,并且在单台虚拟机机器上启动6个实例,而以上是接近生产的配置流程,方便参考。下面配上一些图,是我当时测试的实际情况,如下

启动集群:



让各个节点开始互相通讯:



测试集群:



转载请注明:http://www.cnblogs.com/langtianya/p/5254856.html

参考:http://blog.csdn.net/jthink_/article/details/50373959

官方文档中文版(翻译):教程

官方英文版请看:Redis cluster tutorial

相关:安装 rubygems
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: