redis集群搭建

--------------------搭建redis集群----------------------

徘徊边缘 提交于 2019-11-27 23:57:17
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_42815754/article/details/82912130 redis集群搭建 一、Redis Cluster(Redis集群)简介 redis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis3.0.0版本; redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点; redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例; 为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法; 那么如何判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法; 那么为什么任意一个节点挂了(没有从节点)这个集群就挂了呢? ->

Redis5.0集群搭建及一些新特性

ぃ、小莉子 提交于 2019-11-27 19:28:18
安装Redis5.0 1.新的Stream数据类型【其他5种:String,set,sorted-set,hash,list】 本质是一个抽象日志。 命令操作: 消费组: >表示读取最新的消息,第二次执行的>,是又插入之后读取的。 读取某个ID之后的消息: Block 0 表示阻塞,也就是在客户端新插入消息后,这里才会有如下显示: Help命令: 搭建Redis集群,不使用Ruby: 搭建伪分布式集群:在同一个机器下模拟搭建集群,通过创建6个文件夹,每个文件夹代表一台服务器, 每个文件夹下存放不同配置文件,从不同的文件启动redis就OK的。 Redis集群最少是3主3从,所以是6个文件夹。 将配置文件放置到文件夹中,然后编辑:vim redis.conf 配置数据文件: 打开持久化: 每秒钟写入一次: 设置集群:最后一个是设置最大时连时间 其他的文件里面的都是类似设置配置文件,注意5001不同就可以了: 可以在vim中使用::1,$s/5001/5002/g 将文件中的5001替换成5002 启动各个文件下的服务:我这里只启动了4台。 创建子节点: redis-cli --cluster create node37:5001 node37:5002 node37:5003 node37:5004 node37:5005 node37:5006 --cluster-replicas

【Redis哨兵集群】

北城余情 提交于 2019-11-27 18:55:13
目录 开始配置主从复制 开始配置Redis Sentinel 原文: http://blog.gqylpy.com/gqy/332 "@ *** 在开始之前,我们先来看看Redis的主从复制 主从复制原理: 从服务器向主服务器发送 SYNC 命令。 主服务器接到 SYNC 命令后,会调用 BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下来执行的所有写命令。 当主服务器执行完 BGSAVE 命令后,会向从服务器发送 RDB 文件,而从服务器则会接收并执行这个文件。 主服务器将缓冲区存储的所有写命令发送给从服务器执行。 --------- Redis主从复制使用的是RDB备份方式来同步主从服务器的数据的。 同步开始之后,通过主库命令传播的方式,主动复制方式实现。 2.8以后实现PSYNC饿机制,实现断线重连。 Redis主从复制的背景问题 Reids主从复制可将主节点数据同步给从节点,从节点此时有两个作用: 一旦主节点宕机,从节点作为主节点的备份可以随时顶上来. 扩展主节点的读能力,分担主节点的读压力. . 一旦主节点宕机,从节点上位,那么就需要人为修改所有应用方的主节点地址(指定新的master地址),还需要命令所有从节点复制新的主节点. 这个问题很麻烦,而redis-sentinel就可以很好的解决这个问题. * Redis-Sentinel **    

Redis系列五:redis主从复制(replication)、哨兵(sentinel)、集群(cluster)

我的未来我决定 提交于 2019-11-27 18:41:11
一、Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性 1. 主从复制的相关操作 配置主从复制方式一、新增redis6380.conf, 加入 slaveof 192.168.152.128 6379, 在6379启动完后再启6380,完成配置; 配置主从复制方式二、redis-server --slaveof 192.168.152.128 6379 临时生效 查看状态:info replication 断开主从复制:在slave节点,执行6380:>slaveof no one 断开后再变成主从复制:6380:> slaveof 192.168.152.128 6379 数据较重要的节点,主从复制时使用密码验证: requirepass 从节点建议用只读模式slave-read-only=yes, 若从节点修改数据,主从数据不一致 传输延迟:主从一般部署在不同机器上,复制时存在网络延时问题,redis提供repl-disable-tcp-nodelay参数决定是否关闭TCP_NODELAY,默认为关闭 参数关闭时:无论大小都会及时发布到从节点,占带宽,适用于主从网络好的场景, 参数启用时:主节点合并所有数据成TCP包节省带宽,默认为40毫秒发一次,取决于内核,主从的同步延迟40毫秒,适用于网络环境复杂或带宽紧张

【Redis哨兵集群】

青春壹個敷衍的年華 提交于 2019-11-27 17:15:21
目录 开始配置主从复制 开始配置Redis Sentinel 原文: http://blog.gqylpy.com/gqy/332 "@ *** 在开始之前,我们先来看看Redis的主从复制 主从复制原理: 从服务器向主服务器发送 SYNC 命令。 主服务器接到 SYNC 命令后,会调用 BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下来执行的所有写命令。 当主服务器执行完 BGSAVE 命令后,会向从服务器发送 RDB 文件,而从服务器则会接收并执行这个文件。 主服务器将缓冲区存储的所有写命令发送给从服务器执行。 --------- Redis主从复制使用的是RDB备份方式来同步主从服务器的数据的。 同步开始之后,通过主库命令传播的方式,主动复制方式实现。 2.8以后实现PSYNC饿机制,实现断线重连。 Redis主从复制的背景问题 Reids主从复制可将主节点数据同步给从节点,从节点此时有两个作用: 一旦主节点宕机,从节点作为主节点的备份可以随时顶上来. 扩展主节点的读能力,分担主节点的读压力. . 一旦主节点宕机,从节点上位,那么就需要人为修改所有应用方的主节点地址(指定新的master地址),还需要命令所有从节点复制新的主节点. 这个问题很麻烦,而redis-sentinel就可以很好的解决这个问题. * Redis-Sentinel **    

redis-cluster研究和使用

自作多情 提交于 2019-11-27 13:52:11
最近研究redis-cluster,正好搭建了一个环境,遇到了很多坑,系统的总结下,等到redis3 release出来后,换掉memCache 集群 一:关于redis cluster 1:redis cluster的现状 reids-cluster计划在redis3.0中推出,可以看作者antirez的声明: http://antirez.com/news/49 (ps:跳票了好久,今年貌似加快速度了),目前的最新版本见: https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES 目前redis支持的cluster特性(已测试): 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):集群管理:cluster xxx 5):基于配置(nodes-port.conf)的集群管理 6):ASK 转向/MOVED 转向机制. 2:redis cluster 架构 1)redis-cluster架构图 架构细节: (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的节点检测失效时才生效. (3)客户端与redis节点直连,不需要中间proxy层

redis集群

故事扮演 提交于 2019-11-27 12:55:12
集群搭建:至少要三个master 第一步:创建一个文件夹redis-cluster,然后在其下面分别创建6个文件夹如下: 1.mkdir -p /usr/local/redis-cluster 2.mkdir 7001,mkdir 7002,mkdir 7003,mkdir 7004,mkdir 7005,mkdir 7006 第二步:把之前的redis.config配置文件分别copy到700*下,进行修改各个文件内容,修改如下: daemonize yes port 700* bind 192.168.122.128(必须要绑定当前机器) dir /usr/local/redis-cluster/700*/(指定数据存放文章,必须要指定不同的目录位置,不然会丢失数据) cluster-enabled yes(启动集群模式) cluster-config-file nodes700*.conf (每一个节点都对应一个文件,整个集群是一个整体,一个机器应该知道另外五台机器的存在) cluster-node-timeout 5000 appendonly yes 第三步:把修改后的配置文件,分别copy到各个文件夹下,注意每个文件都需要修改端口,并且nodes文件也要不相同. 第四步:由于redis集群需要使用ruby命令,所以我们需要安装ruby 1.yum install

Redis——集群方案之redis cluster的搭建部署

别等时光非礼了梦想. 提交于 2019-11-27 12:52:02
一.redis的集群之redis cluster的概念 对于Redis集群方案有好多种, 基本常用的就是twemproxy,codis,redis cluster这三种解决方案。 本文介绍 redis cluster。 上篇博文实现redis的高可用,针对的主要是master宕机的情况,我们发现所有节点的数据都是一样的,那么一旦数据量过大,redis也会存在效率下降的问题,redis3.0版本正式推出后,有效地解决了redis分布式方面的需求,当遇到单机内存,并发,流量等瓶颈时,可以采用Cluster架构方法达到负载均衡的目的。 redis使用中遇到的瓶颈 我们日常在对于redis的使用中,经常会遇到一些问题 1、容量问题,单实例redis内存无法无限扩充,达到32G后就进入了64位世界,性能下降。 2、并发性能问题,redis号称单实例10万并发,但也是有尽头的。 redis-cluster的优势 1、官方推荐,毋庸置疑。 2、去中心化,集群最大可增加1000个节点,性能随节点增加而线性扩展。 3、管理方便,后续可自行增加或摘除节点,移动分槽等等。 4、简单,易上手。 redis-cluster名词介绍 1、master 主节点、 2、slave 从节点 3、slot  哈希槽,一共有16384数据分槽,分布在集群的所有主节点中。 redis-cluster的设计

博客从wordpress迁移到hexo

99封情书 提交于 2019-11-27 09:46:35
参考资料 https://www.jianshu.com/p/fd233d967e88 https://segmentfault.com/a/1190000005624504 https://github.com/theme-next/hexo-theme-next https://zhiho.github.io/2015/09/29/hexo-next/ http://theme-next.iissnan.com/getting-started.html https://blog.csdn.net/q2158798/article/details/82354154 https://www.jianshu.com/p/f068b8a36d84 基础环境 npm [root@wordpross ~]# npm -v 3.10.10 node [root@wordpross ~]# node -v v6.17.1 hexo [root@wordpross ~]# hexo version hexo-cli: 2.0.0 os: Linux 3.10.0-862.14.4.el7.x86_64 linux x64 http_parser: 2.8.0 node: 6.17.1 v8: 5.1.281.111 uv: 1.30.1 zlib: 1.2.7 ares: 1.10.1-DEV

Redis cluster集群:原理及搭建

做~自己de王妃 提交于 2019-11-27 05:58:01
1.为什么使用redis? redis是一种典型的no-sql 即非关系数据库 像python的字典一样 存储key-value键值对 工作在memory中 所以很适合用来充当整个互联网架构中各级之间的cache 比如lvs的4层转发层 nginx的7层代理层 尤其是lnmp架构应用层如php-fpm或者是Tomcat到mysql之间 做一个cache 以减轻db的压力 因为有相当一部分的数据 只是简单的key-value对应关系,而且在实际的业务中常常在短时间内迅速变动 如果用关系数据库mysql之类存储 会大大增加对db的访问 导致db的负担很重 因为所有的require中的大部分最后都要汇聚到db 所以如果想要业务稳定 那么解决db的压力 就是关键 所以现在大部分的解决方案就是在db层之上的各级使用多级的no-sql 像memcache redis 等 来为db提供缓冲 2.为什么使用redis-cluster? 为了在大流量访问下提供稳定的业务,集群化是存储的必然形态 未来的发展趋势肯定是云计算和大数据的紧密结合 只有分布式架构能满足要求 如果没有集群化 何来的分布式? 3.顺带一提总结一波今天的redis原理之数据持久化 虽然redis这种no-sql一般都是作为cache来服务 但是如果完全没有数据可持久化的方法 那么显得有些单薄 就像memcache 由于这种no