redis集群搭建

centos搭建集群

这一生的挚爱 提交于 2019-11-29 05:53:27
centos 搭建集群步骤 1、使用yum安装所需要的工具 yum -y install wget vim tcl gcc make 2、下载redis并解压 cd /usr/local wget http://download.redis.io/releases/redis-3.2.8.tar.gz (获取redis) tar -zxvf redis-3.2.8.tar.gz 3、编译安装redis源文件 cd redis-3.2.8 make (若安装报错,可以改为这一句:make MALLOC=libc) make install (如果 /usr/local/bin/ 文件夹内没有 redis-server 那几个文件,就从 /usr/local/redis-3.2.8/src/ 中拷贝过去,命令:cp redis-server redis-cli redis-sentinel redis-trib.rb redis-benchmark redis-check-aof redis-check-rdb /usr/local/bin/) 4、配置内核参数(可以省略 没成功 ) --配置 vm.overcommit_memory 为1,这可以避免数据被截断 systcl -w vm.overcommit_memory=1 5、创建多实例的文件夹 cd /usr/local/

第1节 redis组件:10、redis集群

我的未来我决定 提交于 2019-11-29 05:13:00
10、redis集群 1、redis集群的介绍 Redis 集群是一个提供在多个Redis节点之间共享数据的程序集。 Redis 集群并不支持同时处理多个键的 Redis 命令,因为这需要在多个节点间移动数据,这样会降低redis集群的性能,在高负载的情况下可能会导致不可预料的错误。 Redis 集群通过分区来提供一定程度的可用性,即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。 Redis 集群的优势: 1.缓存永不宕机:启动集群,永远让集群的一部分起作用。主节点失效了子节点能迅速改变角色成为主节点,整个集群的部分节点失败或者不可达的情况下能够继续处理命令; 2.迅速恢复数据:持久化数据,能在宕机后迅速解决数据丢失的问题; 3.Redis可以使用所有机器的内存,变相扩展性能; 4.使Redis的计算能力通过简单地增加服务器得到成倍提升,Redis的网络带宽也会随着计算机和网卡的增加而成倍增长; 5.Redis集群没有中心节点,不会因为某个节点成为整个集群的性能瓶颈; 6.异步处理数据,实现快速读写。 2、redis集群环境搭建 由于redis集群当中最少需要三个主节点,每个主节点,最少需要一个对应的从节点,所以搭建redis集群最少需要三主三从的配置,所以redis集群最少需要6台redis的实例,我们这里使用三台机器

redis 深入学习笔记

元气小坏坏 提交于 2019-11-29 03:30:47
速度快-内存 多种数据结构 bitMaps 比如布隆过滤器, HyperLogLog 精确性不够, 常用配置 默认不是守护进程, 实际一般都是 设置为 守护进程 daemonize yes 通用命令 keys 命令一般在生产环境不使用,生产环境key 太多了,比较慢,而且会阻塞其他命令。最后不用,否则容易出现影响使用的问题。 keys* 可以在 从节点使用或者 scan dbsize 可以在生产环境随便使用 redis 是单线程的 字符串 key 和value 都是 字节存储的,一般都是 限制在 100K左右大小 中文里面一个 文字就是 2个长度 hash 小心使用 hgetall 特别是 内容特别多时候 list 有序,可以重复,左右两边插入与弹出 灵活运行实现不同功能 set 无序,无重复,集合间操作(交集,并级等) smembers 无序,小心使用,内容太多了就不好 spop从集合弹出,且弹出一个。 srandmember 不会破坏集合 sadd 可以用于 标签 业务需求, sadd + sinter 可以用于 社交类 业务 zset 有序集合 Jedis jedis 连接池配置 建议false 是因为 特别在高并发下,也影响性能,而且 可以通过 redis 配置来达到 连接基本永远活性 合适maxTotal 比较难确定 常见问题 4. 网络或者DNS异常等原因 redis

大型分布式电商系统架构演进史

爷,独闯天下 提交于 2019-11-29 02:19:54
概述 本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。 作者简介 烂皮猪,十余年工作经验,曾在Google等外企工作过几年,精通Java、分布式架构,微服务架构以及数据库,最近正在研究大数据以及区块链,希望能够突破到更高的境界 一、大型分布式网站架构技术 1、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 2、大型网站架构目标 高性能:提供快速的访问体验。 高可用:网站服务一直可以正常访问。 可伸缩:通过硬件增加/减少,提高/降低处理能力。 安全性:提供网站安全访问和数据加密、安全存储等策略。 扩展性:方便地通过新增/移除方式,增加/减少新的功能/模块。 敏捷性:随需应变,快速响应; 3、大型网站架构模式 分层:一般可分为应用层、服务层、数据层、管理层与分析层; 分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页、用户中心。 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。 缓存

redis 集群搭建

青春壹個敷衍的年華 提交于 2019-11-28 21:44:23
5.7 集群搭建 5.7.1 准备工作 redis5.0版本之后可以直接使用 redis-cli 命令创建集群,不使用 redis-trib.rb 命令了。 5.7.2 集群规划 (1)Redis集群最少需要6个节点,3主3从,可以分布在一台或者多台主机上。 真集群:6台主机,每台主机的redis服务使用的IP不同,端口号随意,一样不一样都可以 假集群,一台主机,redis服务使用的IP相同,端口号不同 本例子是在一台主机上创建假集群,不同的端口表示不同的redis节点,如下: 主节点:127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 从节点:127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 后期新加的主节点:127.0.0.1:7007 后期新家的从节点:127.0.0.1:7008 (2)在/usr/local/src/redis-5.0.4/下创建cluster目录,其下创建7001、7002…7006目录,如下: (3)将redis解压路径下的配置文件redis.conf,依次拷贝到每个700X目录内,并修改每个700X目录下的redis.conf配置文件: # cd /usr/local/src/redis-5.0.4/cluster # mkdir {7001,7002,7003,7004

redis cluster

社会主义新天地 提交于 2019-11-28 19:49:44
一、Redis Cluster(Redis集群)简介 redis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis3.0.0版本; redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点; redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例; 为了实现集群的高可用,即判断节点是否健康(能否正常使用),redis-cluster有这么一个投票容错机制:如果集群中超过半数的节点投票认为某个节点挂了,那么这个节点就挂了(fail)。这是判断节点是否挂了的方法; 那么如何判断集群是否挂了呢? -> 如果集群中任意一个节点挂了,而且该节点没有从节点(备份节点),那么这个集群就挂了。这是判断集群是否挂了的方法; 那么为什么任意一个节点挂了(没有从节点)这个集群就挂了呢? -> 因为集群内置了16384个slot(哈希槽),并且把所有的物理节点映射到了这16384[0-16383]个slot上,或者说把这些slot均等的分配给了各个节点。当需要在Redis集群存放一个数据(key-value)时

redis学习笔记---redis集群

为君一笑 提交于 2019-11-28 19:46:28
一、介绍 redis集群是一个可以在多个节点之间进行数据共享的设施,redis集群提供如下两个好处 1:将数据自动切分(split)到多个节点 2:当集群中的某一个节点故障时,redis还可以继续处理客户端的请求。 一个 Redis 集群包含 16384 个哈希槽(hash slot),数据库中的每个数据都属于这16384个哈希槽中的一个。集群使用公式 CRC16(key) % 16384 来计算键 key 属于哪个槽。集群中的每一个节点负责处理一部分哈希槽。 集群中的主从复制 集群中的每个节点都有1个至N个复制品,其中一个为主节点,其余的为从节点,如果主节点下线了,集群就会把这个主节点的一个从节点设置为新的主节点,继续工作。这样集群就不会因为一个主节点的下线而无法正常工作。 注意:如果某一个主节点和他所有的从节点都下线的话,redis集群就会停止工作了。 redis集群不保证数据的强一致性,在特定的情况下,redis集群会丢失已经被执行过的写命令 使用异步复制(asynchronous replication)是 Redis 集群可能会丢失写命令的其中一个原因 网络原因,如果网络断开时间太长,redis集群就会启用新的主节点,之前发给主节点的数据就会丢失。 二、Redis3.0 集群部署 (要让集群正常工作至少需要 3 个主节点,在这里我们要创建 6 个 redis 节点

Redis3.0集群部署(centos6.5)

大憨熊 提交于 2019-11-28 19:46:19
更多可以参考: http://redis.io/官方网站 要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,生产环境中可以使用6台服务器,对应的redis节点的ip和端口对应关系如下: 192.168.1.70:7000 192.168.1.70:7001 192.168.1.70:7002 192.168.1.70:7003 192.168.1.70:7004 192.168.1.70:7005 一、下载redis3 [root @ test /]# cd /usr/local/src/ [root @ test src]# wget http://download.redis.io/releases/redis-3.0.7.tar.gz 二、编译安装 [root @ test /]# tar -zxvf redis-3.0.7.tar.gz -C /usr/local/redis-cluster [root @ test /]# mv redis-3.0.7.tar.gz redis3.0 [root @ test /]# cd /usr/local/redis-cluster/redis3.0 [root@test /]# make [root@test /]# make install 三、创建目录 [root@test

关于Redis的工作模式

ⅰ亾dé卋堺 提交于 2019-11-28 18:27:57
1、哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master。 缺点:哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且单个主节点内存也不宜设置得过大,否则会导致持久化文件过大,影响数据恢复或主从同步的效率。 哨兵模式的配置方法见: 2、集群模式 redis 集群是一个由多个 主从节点群组成的分布式服务器群 ,它具有 复制、高可用和分片 特性。 Redis 集群不需要 sentinel 哨兵也能完成节点移除和故障转移的功能。需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,据官方文 档称可以线性扩展到上万个节点 ( 官方推荐不超过 1000 个节点 ) 。 redis 集群的 性能和高可用性均优于之前版本的哨兵模式,且集群配置非常简单 集群模式的搭建方法,见: https://www.cnblogs.com/cosmos-wong/p/11420019.html 来源: https://www.cnblogs.com/cosmos-wong/p/11420139.html

【Redis哨兵集群】

僤鯓⒐⒋嵵緔 提交于 2019-11-28 17:32:51
目录 开始配置主从复制 开始配置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