redis集群搭建

Redis 5.0.7 cluster集群搭建

女生的网名这么多〃 提交于 2019-12-21 19:15:40
Redis单机版搭建 wget http://download.redis.io/releases/redis-5.0.7.tar.gz tar xzf redis-5.0.7.tar.gz cd redis-5.0.7 make && make install 在redis安装目录创建两个文件夹etc(用于存放redis.conf),bin(存放相应的命令脚本) 将redis.conf移到etc目录中,将src下的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-rdb、redis-cli、redis-server移到bin目录中 mv redis.conf etc /#进入src目录下 mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server ../bin/ 配置redis.conf(常用配置项) #注释掉这一行,否则其它机器不可以访问当前redis,也可以改成其他ip #bind 127.0.0.1 #将protected-mode后面的yes改成no,也是为了让其他ip访问当前redis protected-mode no #将daemonize后面的no改成yes

Redis-cluster集群 + ElasticSeach

微笑、不失礼 提交于 2019-12-21 12:05:20
Redis-cluster集群 + ElasticSeach 1.Redis-cluster集成 学习之前,首先要弄清楚什么是集群,为什么我们要使用集群 1.1什么是集群: 集群就是 很多服务器组成的一个网络。指的是将多台服务器集中在一起,实现同一业务。 1.2为什么要集群: 一台服务器不能满足开发需要的时候,需要多台服务器来支持。这个时候就需要做集群,但是集群往往伴随着分布式; 1.3分布式是什么: 分布式是指将不同的业务分布在不同的地方 1.4 集群提供了以下两个关键特性: 1、可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。动态添加服务器 2、高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性 当访问的服务器挂了时,集群要有能力找可以正常使用额服务器继续提供服务器。 2)两大能力 为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力: 1、负载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。 2、错误恢复--由于某种原因,执行某个任务的资源出现故障

redis

为君一笑 提交于 2019-12-20 21:35:17
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Redis 介绍 redis.io Redis是一个键值对存储数据库,属于一种NoSQL,其数据存储在内存里,读写速度非常快,据说是可以达到10w并发。支持数据持久化。它属于单线程服务,但这不影响它的高并发特性。 类似键值对数据库还有Memcached,但Redis比Memcached支持更多类型的数据。Mecached只支持string类型的数据,但Redis除了支持string外,还支持hash,set,list,zset(有序集合) Redis安装 wget http://download.redis.io/releases/redis-5.0.3.tar.gz tar zxf redis-5.0.3.tar.gz cd redis-5.0.3 make make install 启动服务 cp redis.conf /etc/ vi /etc/redis.conf #将daemonize no改为daemonize yes redis-server /etc/redis.conf CentOS7下编写服务管理脚本 vi /usr/lib/systemd/system/redis.service ##内容如下 [Unit] Description=Redis After=network.target

Redis集群部署

只愿长相守 提交于 2019-12-20 03:32:49
一.介绍 二.环境介绍 当前环境:centos7.4 一台 系统: CentOS Linux release 7.4.1708 (Core) 工具: SecureCRT(Xshell)以及SecureFX(Xftp) 编译环境: gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 安装包: redis-4.0.9.tar.gz 下载 (3.0开始支持集群功能) ruby-2.5.1.tar.gz 下载 (一般我们选择2.4或者2.5就行,尽量不要用yum安装,因为yum安装的ruby是2.0.0的,gem install redis ruby的版本必须是2.2.2以上) redis-4.0.0.gem 下载 zlib-1.2.11.tar.gz 下载 启动端口:7001 7002 7003 7004 7005 7006 配置文件:/app/redis/redis-cluster/ 本文当中,我们在一台Linux上搭建6个节点的Redis集群(实际生产环境,需要3台Linux服务器分布存放3个Master) 使用root用户安装,因为普通用户没有创建目录及编译等权限,需要授权 以下只讲述离线安装步骤 三.部署redis 第一步:安装gcc环境 查看gcc版本,如果没有安装则需要进行安装 gcc -v gcc version 4.8

Redis Cluster 伪集群的搭建

风流意气都作罢 提交于 2019-12-19 09:58:09
简介    为何要搭建Redis集群? Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。   Redis集群搭建的方式有多种,例如使用客户端分片、Twemproxy、Codis等,但从 redis 3.0 之后版本支持redis-cluster集群,它是Redis官方提出的解决方案,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。其redis-cluster架构图如下: 客户端与 redis 节点直连,不需要中间 proxy 层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。 所有的 redis 节点彼此互联(PING-PONG 机制),内部使用二进制协议优化传输速度和带宽. 解决的问题: 1、单击版redis内存容量有限的问题 2、高并发场景下,单击版redis性能不高 3、单击版redis不具有高可用性,不能应用于生产环境 分布存储机制-槽 1, redis-cluster 把所有的物理节点映射到 [0-16383]slot 上 ,cluster 负责维护 node<

redis 安装与集群

落花浮王杯 提交于 2019-12-19 05:30:31
一. 环境准备:安装GCC环境 安装Redis需要依托GCC环境,先检查Linux是否已经安装了GCC,如果没有安装,则需要进行安装 检查GCC是否安装,可以看看版本号,如没安装,则我们可以通过命令yum install gcc-c++进行在线安装 gcc -vyum install gcc-c++yum -y install wget 二.安装Redis 1、获取redis资源 解压 安装Redis 转到Redis的存放目录,然后通过命令解压Redis压缩包 $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz$ tar -zxvf redis-4.0.8.tar.gz$ make && make PREFIX=/usr/local/redis install //make 这里如果不指定PREFIX,默认将安装在/usr/local/bin下 安装完后,在/usr/local/redis/bin下有几个可执行文件, redis-benchmark ----性能测试工具 redis-check-aof ----AOF文件修复工具 redis-check-rdb ----RDB文件检查工具(快照持久化文件) redis-cli ----命令行客户端 redis-server ----redis服务器启动命令 2

[Redis] Redis日常学习总结一

老子叫甜甜 提交于 2019-12-19 03:22:16
一 Redis使用bitset(bitmap)来统计日活跃量 1 BitMap介绍   Bitmap(即Bitset),是一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),bitmap就是通过最小的单位bit来进行0或者1的设置,表示某个元素对应的值或者状态。   Redis从2.2.0版本开始新增了 setbit , getbit , bitcount 等几个bitmap相关命令。虽然是新命令,但是并没有新增新的数据类型,因为 setbit 等命令只不过是在 set 上的扩展。在bitmap上可执行AND,OR,XOR以及其它位操作。 2 相关命令   (1)SETBIT key offset value   对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。位的设置或清除取决于 value 参数,可以是 0 也可以是 1 。当 key 不存在时,自动生成一个新的字符串值。   字符串会进行伸展(grown)以确保它可以将 value 保存在指定的偏移量上。当字符串值进行伸展时,空白位置以 0 填充。   offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)。    对使用大的 offset 的 SETBIT 操作来说,内存分配可能造成 Redis 服务器被阻塞。   redis>

redis5集群搭建(不需要ruby)

守給你的承諾、 提交于 2019-12-19 01:20:03
1、介绍 集群中至少应该有奇数个节点,所以搭建集群最少需要3台主机。同时每个节点至少有一个备份节点,所以下面最少需要创建使用6台机器,才能完成Redis Cluster集群(主节点、备份节点由redis-cluster集群确定) 1、真集群: 准备6台服务器 192.168.1.1:6739 192.168.1.2:6739 192.168.1.3:6739 192.168.1.4:6739 192.168.1.5:6739 192.168.1.6:6739 2、伪集群:一台服务器存在6个redis服务 192.168.1.1:7001 192.168.1.1:7002 192.168.1.1:7003 192.168.1.1:7004 192.168.1.1:7005 192.168.1.1:7006 2、搭建伪集群 1、创建Redis节点安装目录 mkdir /usr/local/redis_cluster //指定目录下 创建 redis_cluster 之后所有命令都在redis_cluster目录下操作 2、在redis_cluster目录下,把/usr/local/redis/bin/目录下的文件全部放入redis01-redis06目录中(会自动创建redis01-redis06目录),并删除redis01-redis06目录中的dump.rdb cp -r /usr

redis-cluster

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-19 01:02:21
为什么要用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 Cluster 核心技术

為{幸葍}努か 提交于 2019-12-18 23:19:57
一、Redis Cluster 分布式集群 1.什么是Redis Cluster 1)Redis集群是一个可以在多个Redis节点之间进行数据共享的设施(installation)。 2)Redis集群不支持那些需要同时处理多个键的Redis命令,因为执行这些命令需要在多个Redis节点之间移动数据,并且在高负载的情况下,这些命令将降低Redis集群的性能,并导致不可预测的行为。 3)Redis集群通过分区(partition)来提供一定程度的可用性(availability):即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求。 4)Redis集群有将数据自动切分(split)到多个节点的能力。 2.Redis Cluster的特点 高性能 1.在多酚片节点中,将16384个槽位,均匀分布到多个分片节点中 2.存数据时,将key做crc16(key),然后和16384进行取模,得出槽位值(0-16384之间) 3.根据计算得出的槽位值,找到相对应的分片节点的主节点,存储到相应槽位上 4.如果客户端当时连接的节点不是将来要存储的分片节点,分片集群会将客户端连接切换至真正存储节点进行数据存储 高可用 在搭建集群时,会为每一个分片的主节点,对应一个从节点,实现slaveof功能,同时当主节点down,实现类似于sentinel的自动failover的功能。 3