redis配置与cluster集群的搭建

有了cluster后,redis从nosql的内存数据库转变成了分布式nosql数据库


redis_cluster 是redis推出的集群版


cluster集群是分布式的redis实现,具有容错性和线性可扩展性
特性:
1):节点自动发现
2):slave(从盘|master--> 主盘) --->master 选举,集群容错
master 负责对外连接,然后与其他的slave连接,构成分布式
分布式要求总机数的一半要大于2,不然当一半的机器出现故障,就不可以转移错误,不能容错
注意
a.如果集群任意master挂掉,且当前master没有slave.集群进入fail状态
b.如果集群超过半数以上master挂掉,无论是否有slave集群进入fail状态
3):hot resharing:在线分片-----将数据分到多个redis集群(多台电脑)
将数据分到多个集群,就是允许多台电脑的内存总和来支持更大的数据库。
允许计算机伸缩到多核或一台主机有多个服务器
4):集群管理:cluster xxx
5):基于配置(nodes-port.conf)的集群管理
6):ASK 转向/MOVED 转向机制.
访问其他Redis3.0服务器的Key需要二次定位
  Redis最初的使命是用高效的内存取代复杂繁重的数据库,如果从缓存服务器
获取一个Key要经过二次定位访问时间是原来单机缓存服务器的两倍,那样我们还是
直接用数据库好了。

redis的配置文件结构图
redis-common.conf
|              |              |      
redis-6380.conf  redis-6381.conf ...

二 用cluster搭建redis集群过程
1. 需要准备ruby(这里是2.1.2版本)---这是搭建集群需要使用的官方提供的脚本
rubygems是ruby程序包管理器
openssl(安全套接层协议) 可以跨大多数平台,主要功能是密码算法库、SSL协议库以及应用程序
gem:
RubyGems软件允许您轻松下载、安装和使用ruby在您的系统软件包。 
这个软件包被称为“Gem”和包含一个Ruby包应用程序或库。
    Gem可以用来扩展或修改在Ruby应用程序功能
    通常他们用于分发可重用的功能,与其他ruby爱好者们用于共享他们的应用程序
 和库。 
  一些Gem提供命令行实用工具来帮助自动化任务,加快你的工作

在使用./redis-trib.rb create --replicas 1 127.0.0.1:7000 .. 之前需要
sudo gem install redis
生成1 gem application后才可以使用

具体步骤是
1.先拿到redis-3.x的包
2.进入解压后的包,src目录下 使用命令make
3.搭建集群(cluster)
a.先创建一个cluster目录 (/home/qianhu/cluster)
b.创建6个集群(3个master 3个slave),这里是7000 ..7005(都是目录)
c.将redis-3.x中redis.conf拷贝到每个集群里面
d.分别在每个集群里面的redis.conf中配置
以第一个cluster实例为例
port 7000  ---集群的端口号 (本机回环是:127.0.0.1:7000)
cluster-enable yes   ---yes 是表示必须集群才可以访问
cluster-config-file nodes-6379.conf   ---每个节点的配置
cluster-node-timeout 15000   ---节点连接超时设置
[appendonly yes]
e.配置完成之后,在执行命令:/home/qianhu/redis-3.x/src/redis-server /home/qianhu/cluster/7000/redis.conf
4.执行命令:gem install redis;-------产生一个1 gem application
5.执行命令:./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 ....


你可能感兴趣的:(redis配置与cluster集群的搭建)