redis集群搭建

redis4.0.14集群搭建

江枫思渺然 提交于 2019-12-06 10:18:02
redis安装 1.下载tar包至/opt/redis 2.解压tar包 tar -xvf redis-4.0.14.tar.gz 3. cd redis-4.0.14 make一下。 单节点的redis准备就绪。 相关配置准备: 在/usr/local下建立redis-cluster目录,并建7031-7036文件夹 拷贝修改配置文件 cd /opt/redis/redis-4.0.14 cp redis.conf /usr/local/redis-cluster/7031 cd /usr/local/redis-cluster/7031修改redis.conf 修改项如下: (1)绑定端口,port 7031 (2)绑定IP,bind 10.200.195.61 (3)指定数据存放路径,dir /usr/local/redis-cluster/7031 (4)启动集群模式,cluster-enabled yes (5)指定集群节点配置文件,cluster-config-file nodes-7031.conf (6)后台启动,daemonize yes (7)指定集群节点超时时间,cluster-node-timeout 5000 (8)指定持久化方式,appendonly yes 上面红色项目最好全部设置,不然会出意想不到的错误 ,703x最好与节点文件夹保持一致。

Redis Cluster

陌路散爱 提交于 2019-12-06 03:45:06
Redis Cluster 呼唤集群 数据分布 搭建集群 集群伸缩 客户端路由 集群原理 故障转移 开发运维常见问题 呼唤集群 1. 并发量 2. 数据量 3. 网络流量 解决办法 分布式:简单的认为加机器 集群:规模化需求 并发量:OPS 数据量:”大数据” 数据分布 分布式数据库-数据分区 顺序分区和哈希分区 顺序分布 哈希分布(例如节点取模) 数据分布对比 分布方式 特点 典型产品 哈希分布 数据分散度高、键值分布业务无关、无法顺序访问、支持批量操作 一致性哈希Memcache、Redis Cluster、其他缓存产品 顺序分布 数据分散度易倾斜、键值业务相关、可顺序访问、支持批量操作 Big Table、HBase 哈希分布 节点取余分区 一致性哈希分区 虚拟槽分区 多倍扩容 客户端分片:哈希+取余 节点伸缩:数据节点关系变化,导致数据迁移 迁移数量和添加节点数量有关:建议翻倍扩容 一致性哈希 扩容 客户端分片:哈希+顺时针(优化取余) 节点伸缩:只影响邻近节点,但是还是有数据迁移 翻倍伸缩:保证最小迁移数据和负载均衡 虚拟槽分区 预设虚拟槽:每个槽映射一个数据子集,一般比节点数大 良好的哈希函数:例如CRC16 服务端管理节点、槽、数据:例如Redis Cluster 搭建集群-基本架构 单机架构 分布式架构 Redis Cluster架构 节点 meet 指派槽 复制

[Redis哨兵功能与集群搭建](https://www.cnblogs.com/zyyhxbs/p/11831044.html)

你离开我真会死。 提交于 2019-12-05 18:08:35
6.redis哨兵功能 Redis-Sentinel Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端都没有实现主从切换的功能。 而redis-sentinel就是一个独立运行的进程,用于监控多个master-slave集群,自动发现master宕机,进行自动切换slave > master。 sentinel主要功能如下: 不时的监控redis是否良好运行,如果节点不可达就会对节点进行下线标识 如果被标识的是主节点,sentinel就会和其他的sentinel节点“协商”,如果其他节点也认为主节点不可达,就会选举一个sentinel节点来完成自动故障转义 在master-slave进行切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换 ↓ShowCode↓ redis命令: redis-cli info #查看redis数据库信息 redis-cli info replication #查看redis的复制授权信息 redis-cli info sentinel

redis-cluster配置

萝らか妹 提交于 2019-12-05 15:21:14
为什么要用redis-cluster 1.并发问题 redis官方生成可以达到 10万/每秒,每秒执行10万条命令假如业务需要每秒100万的命令执行呢? 2.数据量太大 一台服务器内存正常是16~256G,假如你的业务需要500G内存, 新浪微博作为世界上最大的redis存储,就超过1TB的数据,去哪买这么大的内存条?各大公司有自己的解决方案,推出各自的集群功能,核心思想都是将数据分片(sharding)存储在多个redis实例中,每一片就是一个redis实例。 各大企业集群方案: twemproxy由Twitter开源 Codis由豌豆荚开发,基于GO和C开发 redis-cluster官方3.0版本后的集群方案 解决方案如下 配置一个超级牛逼的计算机,超大内存,超强cpu,但是问题是。。。。 2.正确的应该是考虑分布式,加机器,把数据分到不同的位置,分摊集中式的压力, 一堆机器做一件事 客户端分片 redis3.0集群采用P2P模式,完全去中心化,将redis所有的key分成了16384个槽位,每个redis实例负责一部分slot,集群中的所有信息通过节点数据交换而更新。 redis实例集群主要思想是将redis数据的key进行散列,通过hash函数特定的key会映射到指定的redis节点上 数据分布原理图 数据分布理论

redis集群

Deadly 提交于 2019-12-05 13:07:44
一、redis-cluster 1.介绍 高性能 1)在多分片节点中,将16384个槽位,均匀分布到多个分片节点中 2)存数据时,将key做crc16(key),然后和16384进行取模,得出槽位值(0-16383之间) 3)根据计算得出的槽位值,找到相对应的分片节点的主节点,存储到相应槽位上 4)如果客户端当时连接的节点不是将来要存储的分片节点,分片集群会将客户端连接切换至真正存储节点进行数据存储 高可用 在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof的功能,同时当主节点down,实现类似于sentinel的自动failover的功能。 1)redis会有多组分片构成(3组) 2)redis cluster 使用固定个数的slot存储数据(一共16384slot) 3)每组分片分得1/3 slot个数(0-5500 5501-11000 11001-16383) 4)基于CRC16(key) % 16384 ====》值 (槽位号)。 2.规划搭建过程 准备 6个redis实例,一般会放到3台硬件服务器 注:在企业规划中,一个分片的两个分到不同的物理机,防止硬件主机宕机造成的整个分片数据丢失。 端口号:7000-7005 集群节点准备 mkdir -p /data/700{0,3} mkdir -p /data/700{1,4} mkdir -p

redis集群搭建及java(jedis)链接

我的未来我决定 提交于 2019-12-05 11:33:31
1、创建一个redis-cluster 目录   mkdir -p /usr/local/redis-cluster   创建6台redis服务器(单机下学习)   mkdir 7001、mkdir 7002、mkdir 7003、mkdir 7004、mkdir 7005、mkdir 7006。 2、分别拷贝redis 服务器的配置文件redis.conf 到个目录下面,并修改配置文件为集群版。   1)daemonize yes   2) port 700*(设置端口)   3) bind 192.168.1.171 (必须绑定当前机器的IP,不然会无限悲剧)   4) dir /usr/local/redis-cluster/700*/ (指定数据文件存放位置,必须指定不同目录位置,不然会丢失数据)。   5) cluster-enabled yes (启动集群模式)   6) cluster-conf-file nodes700*.conf (指定集群配置文件,和port端口对应)。   7) cluster-node-timeout 5000   8) appendonly yes 3、redis集群需要使用ruby命令,安装ruby   1) yum install ruby   2) yum install rubygems   3) install redis

redis--redis.conf详细信息

若如初见. 提交于 2019-12-05 09:06:43
redis.conf详细配置信息 1 1、pwd 2 ##先查看当前路径,将下载好的redis上传。redis稳定版本为第2位偶数的。 3 2、/home/bxapp 4 ##当前路径 5 3、mkdir redis 6 ##创建redis文件,将文件redis-4.0.11.tar.gz上传至/opt文件夹 7 4、tar -zxvf redis-4.0.11.tar.gz 8 ##解压文件夹 9 5、cd redis-4.0.11/ 10 6、 make && make PREFIX=/usr/local/redis install 11 ##通过make命令进行安装Redis(需要root权限) 12 7、cd /usr/local/ 13 8、mkdir -p /usr/local/redis-cluster 14 9、cd redis-cluster/ 15 10、mkdir 7031 7032 7033 7034 7035 7036 16 ##数量根据集群数量来定 17 11、cp opt/redis-4.0.11/redis.conf usr/local/redis-cluster 18 12、cp redis.conf 7031 19 13、编辑对应的redis.conf文件,各个修改项信息如下(详细配置信息见备注) 20 1)绑定端口,port 7031 21 2

[Java复习] 缓存Cache part2

时光毁灭记忆、已成空白 提交于 2019-12-05 06:18:48
7. Redis持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 为什么要持久化? 如果只是存在内存里,如果redis宕机再重启,内存数据就丢失了,所以要用持久化机制。 将数据写入内存的同时,异步的慢慢将数据写入磁盘文件,定期同步或备份到云存储服务上,进行持久化。 如果redis宕机重启,自动从磁盘加载之前持久化的一些数据,也许会丢失少量数据,但至少不会丢所有数据。 Redis 持久化的两种方式: RDB 和 AOF RDB(Redis Database) : 是对redis中的数据执行 周期性 的持久化。 简单说就是每个几分钟或几个小时,生成redis内存中数据的一份全量快照副本。 AOF(Append-Only-File) :是对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集。 现在操作系统中,写文件不是直接写磁盘,会先写os cache(linux),然后到一定时间从os cache写到磁盘文件。 如果同时使用 RDB 和 AOF 两种持久化机制,那么在 redis 重启的时候,会使用 AOF 来重新构建数据,因为 AOF 中的数据更加完整。 RDB 优缺点: 优点: 1. 非常适合做冷备份。 RDB生成多个文件

Redis集群原理与搭建

痞子三分冷 提交于 2019-12-04 21:10:40
Redis 集群和主从不同,是把所有的数据按照算法分布在每一个节点上。 Redis集群之Twemproxy(nutcracker) Redis集群之Cluster toc 这里分别使用第三方 Twemproxy 和官方 Cluster 集群工具搭建 Twemproxy 优点:代理的方式,不用Redis相应的设置,对持久化不友好,适合做纯缓存 缺点:当添加、删除或者修改节点时,需要重新导入所有的数据。 Cluster 优点:没有服务端,可以在任意节点进入集群,主从自动切换 缺点:需要集群自行处理数据。节点之间通信,使用带宽大 Redis集群之Twemproxy(nutcracker) Twemproxy 是Twitter开源的一个 Redis 和 Memcache 集群工具 Twemproxy 后端的redis服务器不需要额外的配置, Twemproxy 会通过hash算法选择某个配置的后端 Redis 服务器去分配 key Twemproxy 只有一个库,集群不支持多库 Twemproxy 不支持所有的 Redis 命令: Twemproxy和Redis命令兼容性列表 Twemproxy 编译安装 Master1和Master2分别安装Redis并启动,不做主从 ## 安装Twemproxy和使用过程需要的YUM包 [root@Twemproxy ~]# yum install

docker redis4.0集群搭建

自闭症网瘾萝莉.ら 提交于 2019-12-04 13:34:59
一、前言 redis集群对于很多人来说非常熟悉,在前些日子,我也有一位大兄弟也发布过一篇关于在阿里云(centOS7)上搭建redis 集群的文章,虽然集群搭建的文章在网上很多,我比较喜欢这篇文章的地方是他在搭建过程中,指出一些我们会遇到而别人没有指出的问题。 在这里,我同样带给大家一遍关于阿里云(centOS7)redis集群搭建的文章,但是这次搭建有所不同的是,它是在docker上搭建的redis集群。 环境说明 采用单机部署 操作系统 ip docker版本 redis版本 centos 7.6 192.168.31.150 19.03.5 4.0.10 二、准备镜像 docker pull redis:4.0.10 docker pull ruby 说明:ruby用是来做加入集群的用的,仅一次使用。 三、搭建 创建redis配置文件 mkdir -p /data/redis-cluster vi /data/redis-cluster/redis-cluster.tmpl 内容如下: port ${PORT} protected-mode no cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 cluster-announce-ip 192.168.31.150