redis集群搭建

Redis集群搭建的几种方式

拈花ヽ惹草 提交于 2019-12-12 23:36:25
前面使用了哨兵集群搭建单个分片高可用的结构,实现了主从复制和故障转移,但是没有实现分布式。接下来使用Redis集群搭建,实现哨兵集群没有实现的 分布式 高可用。 redis-cluster搭建需求 下面准备6个redis节点,搭建如图所示的三主三从分布式redis集群,实现两两互联,以master8001为例,它可以连接另外两个主节点,以及三个从节点。搭建过程可以使用原生redis命令,也可以使用ruby自带的脚本(需要先安装ruby)。 ruby脚本辅助搭建 使用ruby脚本辅助安装,即使用redis根目录/src/redis-trib.rb脚本来完成,需要先安装ruby。 -rwxrwxr-x. 1 root root 60852 Sep 21 2017 redis-trib.rb (1)安装ruby,这里解压了压缩包,进行编译和安装。但是安装完只是最基本的一步,后面还需要对ruby进行配置,比较麻烦。 # 解压 [root@node01 /home/software]# tar -zxvf ruby-2.3.1.tar.gz # 检查 [root@node01 /home/software/ruby-2.3.1]# . /configure # 编译,安装 [root@node01 /home/software/ruby-2.3.1]# make && make

redis主从集群搭建及容灾部署(哨兵sentinel)

孤者浪人 提交于 2019-12-12 13:46:33
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅。 提纲 Redis安装 整体架构 Redis主从结构搭建 Redis容灾部署(哨兵sentinel) Redis常见问题 Redis安装 发行版: CentOS -6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 下载redis,选择合适的版本 [root @rocket software]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz [root @rocket software]# cd redis-2.8.17 [root @rocket redis-2.8.17]# make [root @rocket redis-2.8.17]# make test cd src && make test make[1]: Entering directory `/home/software/redis-2.8.17/src' You need tcl 8.5 or newer in order to run the Redis test make[1]: *** [test] Error 1

redis主从集群搭建及容灾部署(哨兵sentinel)

白昼怎懂夜的黑 提交于 2019-12-12 13:18:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅。 提纲 Redis安装 整体架构 Redis主从结构搭建 Redis容灾部署(哨兵sentinel) Redis常见问题 Redis安装 发行版: CentOS -6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 下载redis,选择合适的版本 [root @rocket software]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz [root @rocket software]# cd redis-2.8.17 [root @rocket redis-2.8.17]# make [root @rocket redis-2.8.17]# make test cd src && make test make[1]: Entering directory `/home/software/redis-2.8.17/src' You need tcl 8.5 or newer in order to run the Redis test make[1]: *** [test] Error 1

redis高可用集群方案

社会主义新天地 提交于 2019-12-11 04:45:24
絮叨 半步神游,神游之下,天下无敌。一梦一游 便是天下。 Redis前面几篇的文章链接: 从零开始学Redis之金刚凡境 从零开始学Redis之自在地境 从零开始学Redis之逍遥天境 上一篇的逍遥天境 讲的是Redis的内存淘汰策略 和持久化方式。那这半步神游就是带你们遨游Redis的主从HA,哨兵,和Lua脚本 Redis主从和哨兵模式 Redis 主从搭建(有兴趣的小伙伴自己用虚拟机搭一个玩玩) 1、环境说明 主机名称 IP地址 redis版本和角色说明 redis-master 192.168.56.11 redis 5.0.3(主) redis-slave01 192.168.56.12 redis 5.0.3(从) redis-slave02 192.168.56.13 redis 5.0.3(从) 2、修改主从的redis配置文件 [root@redis-master ~]# grep -Ev "^$|#" /usr/local/redis/redis.conf bind 192.168.56.11 protected-mode yes port 6379 daemonize yes pidfile /var/run/redis_6379.pid logfile "/var/log/redis.log" dir /var/redis/ [root@redis

Redis集群生产环境源码安装

狂风中的少年 提交于 2019-12-08 14:28:18
安装redis集群 根据各人单位生产环境用户搭建 一、安装环境 操作系统:centos7.6 关闭防火墙、关闭selinux redis1:192.168.26.128 redis2:192.168.26.129 二、用户环境 groupadd usr useradd -g usr -md /usr/users/sw sw cd /usr/users/sw/ mkdir app;mkdir backup cd app mkdir redis make /applog chown -R sw:usr /usr/users/sw chown -R sw:usr /applog 三、系统参数修改,有几个系统参数需要调整,否则,在启动redis时会有几个WARNING: 1.redis的配置文件中,默认的最大客户端连接数为10000,要求至少最大文件描述符要10032个,我 们一般系统都会设置为65535 vim /etc/security/limits.conf添加以下内容 * soft nproc 12000 * hard nproc 12000 * soft nofile 65535 * hard nofile 65535 * hard stack 10240 * soft stack 10240 * hard sigpending 127934 * soft sigpending

Redis Sentinel集群搭建

懵懂的女人 提交于 2019-12-07 16:06:14
Redis sentinel主要服务和维护主从复制关系,比如master宕机后管理slave成为升级为matser 主要博客如下 Redis中sentinel集群的搭建和Jedis测试 图文教程[一] Redis中sentinel集群的搭建和Jedis测试 图文教程[二] Redis Sentinel集群方案--单机测试 Jedis分片连接池(分布式) 在这里来说明一下master-sentinel与slave-sentinel的关系 master: 127.0.0.1 6379 slave1: 127.0.0.1 6479 slave2: 127.0.0.1 6579 master-sentinel: 127.0.0.1 26379 slave1-sentinel: 127.0.0.1 26479 slave2-sentinel: 127.0.0.1 26579 master-sentinel负责集群主节点master的管理 1.如果master宕机, master-sentinel会从slaves中选择一个来作为master 2.之前的master如果恢复,那么不会重新成为master,而是会成为一个slave,而这个slave和master之前的监控器slave-sentinel会反向监控新的slave信息给新的master 3. master

Redis Cluster 集群扩容与收缩

此生再无相见时 提交于 2019-12-07 16:01:04
Redis Cluster 集群伸缩 1. 伸缩原理 Redis 提供了灵活的节点扩容和收缩方案。在不影响集群对外服务的情况下,可以为集群添加节点进行扩容也可以对下线节点进行缩容。 我们在Redis Cluster 介绍与搭建这篇文章中搭建了一个三主三从的redis集群(如下图所示)。在搭建 Redis Cluster 通信流程剖析这篇博客中根据源码详细剖析了搭建集群的流程。 本篇博客要讲的是,Redis集群的扩容和缩容过程。 我们先根据Redis Cluster 介绍与搭建将如图的集群搭建起来,查看搭建的效果。 127.0.0.1:6379> cluster nodes 29978c0169ecc0a9054de7f4142155c1ab70258b 127.0.0.1:6379 myself,master - 0 0 7 connected 0-5461 8f285670923d4f1c599ecc93367c95a30fb8bf34 127.0.0.1:6380 master - 0 1496717082785 3 connected 5462-10922 66478bda726ae6ba4e8fb55034d8e5e5804223ff 127.0.0.1:6381 master - 0 1496717085793 2 connected 10923-16383

Redis3.0.5集群安装

梦想与她 提交于 2019-12-06 22:20:46
首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.5,我下面已经在虚拟机启动了两个linux来部署redis。 1. 下载和解包 cd /usr/local/ wget http://download.redis.io/releases/redis-3.0.5.tar.gz tar -zxvf redis-3.0.5.tar.gz mv redis-3.0.5 redis 2. 编译安装 cd redis make && make install 3. 创建redis节点 我们将在两台Server上创建六个节点,每台3个,3主3从。 1)Server1 cd /usr/local/ mkdir redis_cluster //创建集群目录 mkdir 7000 7001 7002 //分别代表三个节点 其对应端口 7000 7001 7002 创建7000节点为例, cd ./7000 cp /usr/local/redis/redis.conf ./ //拷贝到当前7000目录 vi redis.conf //编辑配置 主要修改一下几个参数 daemonize yes //redis后台运行 pidfile /var/run/redis_7000.pid //pidfile文件对应7000 port 7000 //端口7000 cluster

centos7搭建redis集群

流过昼夜 提交于 2019-12-06 18:29:52
下载: https://redis.io/ 解压: tar -xzf redis-5.0.3.tar.gz 进入目录: cd redis-5.0.3 编译安装: make 创建配置文件夹: mkdir -p /usr/local/redis/redis_1 mkdir -p /usr/local/redis/redis_2 mkdir -p /usr/local/redis/redis_3 mkdir -p /usr/local/redis/redis_4 mkdir -p /usr/local/redis/redis_5 mkdir -p /usr/local/redis/redis_6 创建配置文件: vim /usr/local/redis/redis_1/redis.conf port 7001 bind 172.20.10.12 requirepass 123456 daemonize yes pidfile /var/run/redis_1.pid cluster-enabled yes cluster-config-file nodes_1.conf cluster-node-timeout 10100 appendonly no 启动: src/redis-server /usr/local/redis/redis_1/redis.conf src/redis

redis-cluster部署及数据迁移

五迷三道 提交于 2019-12-06 14:30:54
工作原理 节选自redis官方文档: http://www.redis.cn/topics/cluster-tutorial.html Redis集群介绍 Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。 Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误. Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令. Redis 集群的优势: 自动分割数据到不同的节点上。 整个集群的部分节点失败或者不可达的情况下能够继续处理命令。 Redis 集群的数据分片 Redis 集群没有使用一致性hash, 而是引入了 哈希槽的概念. Redis 集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽.集群的每个节点负责一部分hash槽,举个例子,比如当前集群有3个节点,那么: 节点 A 包含 0 到 5500号哈希槽. 节点 B 包含5501 到 11000 号哈希槽. 节点 C 包含11001 到 16384号哈希槽. 这种结构很容易添加或者删除节点. 比如如果我想新添加个节点D, 我需要从节点 A, B, C中得部分槽到D上. 如果我像移除节点A,需要将A中得槽移到B和C节点上