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 # 节点超时毫秒
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

Redis中sentinel集群的搭建和Jedis测试图文教程[一]

 

Redis3.0.7 cluster/集群 安装配置教程的更多相关文章

  1. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  2. Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS

    摘自:http://www.powerxing.com/install-hadoop-cluster/ 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否 ...

  3. Hadoop-2.4.1 ubuntu集群安装配置教程

    一.环境 系统: Ubuntu 14.04 32bit Hadoop版本: Hadoop 2.4.1 (stable) JDK版本: 1.7 集群数量:3台 注意事项:我们从Apache官方网站下载的 ...

  4. Ubuntu 14.04下Hadoop2.4.1集群安装配置教程

    一.环境 系统: Ubuntu 14.04 64bit Hadoop版本: hadoop 2.4.1 (stable) JDK版本: OpenJDK 7 台作为Master,另3台作为Slave. 所 ...

  5. Hadoop 2.6.1 集群安装配置教程

    集群环境: 192.168.56.10 master 192.168.56.11 slave1 192.168.56.12 slave2 下载安装包/拷贝安装包 # 存放路径: cd /usr/loc ...

  6. CentOS下Hadoop-2.2.0集群安装配置

    对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...

  7. hbase和ZooKeeper集群安装配置

    一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...

  8. Hadoop2.2集群安装配置-Spark集群安装部署

    配置安装Hadoop2.2.0 部署spark 1.0的流程 一.环境描写叙述 本实验在一台Windows7-64下安装Vmware.在Vmware里安装两虚拟机分别例如以下 主机名spark1(19 ...

  9. hbase单机环境的搭建和完全分布式Hbase集群安装配置

    HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...

随机推荐

  1. 集成IJKplayer视频直播框架

    ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijk ...

  2. 【BZOJ-3675】序列分割 DP + 斜率优化

    3675: [Apio2014]序列分割 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 1420  Solved: 583[Submit][Statu ...

  3. GitHub项目大全

    [微信网页版]: [查看被删的微信好友]https://github.com/0x5e/wechat-deleted-friends [网页版微信API,包含终端版微信及微信机器人]https://g ...

  4. Uva1398 Meteor

    扫描线法. 将流星出现在相机里的时间转化成线段,离散化端点后,扫描何时出现的流星最多.注意边界的不算,所以要先减右端点再加左端点 /*By SilverN*/ #include<iostream ...

  5. dedecms \plus\guestbook.php SQL Injection Vul By \plus\guestbook\edit.inc.php

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 注射漏洞成功需要条件如下 . php magic_quotes_gpc= ...

  6. js实现A*寻路算法

    这两天在做百度前端技术学院的题目,其中有涉及到寻路相关的,于是就找来相关博客进行阅读. 看了Create Chen写的理解A*寻路算法具体过程之后,我很快就理解A*算法的原理.不得不说作者写的很好,通 ...

  7. [IOS 实现TabBar在Push后的隐藏 以及 两级Tabbar的切换]

    翻了好多网页都没找到资料,自己试了下终于成功了,遂分享一下. 1.实现TabBar在Push后的隐藏 假如结构是这样 NavController->A->B,我们想要实现在A里有Tabba ...

  8. Spring MVC exception - Invoking request method resulted in exception : public static native long java.lang.System.currentTimeMillis()

    最近在线上系统发现下面的异常信息: 2014-10-11 11:14:09 ERROR [org.springframework.web.servlet.mvc.annotation.Annotati ...

  9. UVa 11889 Benefit(数论)

    题目链接: 传送门 Benefit Time Limit: 5000MS     Memory Limit: 32768 KB Description Recently Yaghoub is play ...

  10. bootstrap学习总结-03 常用标签1

    1 显示段落 在HTML中,段落使用p标签包起来,重要的文字使用strong标签,em标签.<em> 标签告诉浏览器把其中的文本表示为强调的内容.对于所有浏览器来说,这意味着要把这段文字用 ...