目录
- 一、cluster(集群)概述
- 二、cluster特性
- 三、优缺点
- 四、搭建集群
-
- 4.1环境
- 4.2安装reids
- 4.3修改配置文件
- 4.4开启redis服务
- 4.5测试群集
- 4.6查看集群状态
- 4.7查看节点信息
一、cluster(集群)概述
cluster同时满足了sentinel的一些特性达到了高可用目的,不同点是采用hash算法根据key自动将数据分配到不同的节点当中,新增节点非常方便,当数据量过大时,可增加机器进行扩容,解决了单机容量受限的问题。
二、cluster特性
1、多个redis节点直接数据共享
2、所有的节点都是一主一从或一主多从
3、不支持同时处理多个key(如MSET/MGET),因为cluster需要把key分配节点,高并发量同时创建key-value会降低性能并导致不可预测的行为
4、支持在线增加、删除节点
5、不支持多数据库选择
三、优缺点
优点:
无中心架构
可扩展性高
高可用性
降低运维成本,提高系统的扩展性和可用性。
缺点:
数据通过异步复制,不保证数据的强一致性。
多个业务使用同一套集群时,无法根据统计区分冷热数据,资源隔离性较差,容易出现相互影响的情况。
四、搭建集群
4.1环境
主机 | ip |
---|---|
master1 | 20.0.0.10 |
master2 | 20.0.0.11 |
master3 | 20.0.0.12 |
slave1 | 20.0.0.13 |
slave2 | 20.0.0.14 |
slave3 | 20.0.0.15 |
4.2安装reids
每一台服务器都需要安装
[[email protected] ~]# tar zxf redis-5.0.7.tar.gz
[[email protected] ~]# cd redis-5.0.7/
[[email protected] redis-5.0.7]# make -j2
[[email protected] redis-5.0.7]# make PREFIX=/usr/local/redis install
[[email protected] redis-5.0.7]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[[email protected] redis-5.0.7]# cd utils/
[[email protected] utils]# ./install_server.sh
4.3修改配置文件
[[email protected] utils]# vi /etc/redis/6379.conf
bind 20.0.0.10 #删除原来的127.0.0.1,改成自己的IP
cluster-enabled yes #前面的注释去掉
appendonly yes #开启AOF持久化
cluster-config-file nodes-6379.conf #前面的注释去掉
cluster-node-timeout 15000 #前面的注释去掉
cluster-require-full-coverage no #前面的注释去掉,把yes改成no
4.4开启redis服务
在master1上使用脚本创建集群
[[email protected] ~]# yum -y install gem
[[email protected] opt]# gem install redis-3.2.0.gem
[[email protected] opt]# cd redis-5.0.7/src/
[[email protected] src]# redis-cli --cluster create --cluster-replicas 1 20.0.0.10:6379 20.0.0.11:6379 20.0.0.12:6379 20.0.0.13:6379 20.0.0.14:6379 20.0.0.15:6379
4.5测试群集
4.6查看集群状态
20.0.0.10:6379> cluster info
4.7查看节点信息
20.0.0.10:6379> cluster nodes