redis 5.0 集群搭建

今天主要分享一下 redis 3主3从 集群的搭建过程。redis经常用来做缓存,可以提升读取数据的速度,数据都是存在内存中的,采用 RDB 或者 AOF 持久化存储后便可以实时落地到硬盘。本次主要是3主3从。架构原理如下:

题图:来自于网络

图片中的每一个圆圈都代表一台服务器。客户端访问任何一台服务器便可以连通任何服务器。当老的主节点也就是 master 节点挂掉时,会进行重新选举,当半数以上的 master 节点投票出现失败状态时(也就是和该故障matser连不通),就会认为该 master 挂掉。

什么时候集群不可用? 1、当master挂掉时,这个master没有slave节点时,该集群则进入fail状态。 2、当集群超过半数以上master挂掉,则不论有没有slave节点,则该集群都会挂掉

tigergao

大型的互联网公司都会采用集群方式或者哨兵方式来保证高可用以及实现读写分离。下来进行搭建集群。

1、上redis官网网站,下载源码包,之后进行编译安装。官方网站说明如下。

官方网站说明安装过程如下:

Installation

Download, extract and compile Redis with:

$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz

$ tar xzf redis-5.0.4.tar.gz

$ cd redis-5.0.4

$ make

The binaries that are now compiled are available in the src directory. Run Redis with:

$ src/redis-server

You can interact with Redis using the built-in client:

$ src/redis-cli

redis> set foo bar

OK

redis> get foo

"bar"

按照官网说明进行安装即可。进行编译将redis安装。

2、安装后进行修改配置文件,并命名为redis6389.conf。

save 900 1

bind 10.131.156.170

daemonize yes port 6389loglevel warning

timeout 60

logfile "6389.log"

dbfilename dump6389.rdb

pidfile /var/run/redis_6389.pid

maxmemory-policy volatile-ttl

auto-aof-rewrite-min-size 10GB

cluster-enabled yes

cluster-node-timeout 15000

cluster-config-file nodes-6389.conf

protected-mode no

3、同时将redis6389.conf拷贝几份按照如上配置,进行修改端口。

4、安装ruby和ruby依赖rubygem。安装ruby的目的是进行创建和管理redis集群。Redis-trib.rb是采用ruby实现的redis集群管理工具。内部通过cluster相关命令简化集群创建,检查,槽迁移和均衡等常见运维操作。同样进行解压并编译安装。

mkdir rubydata

tar -zxvf ruby-2.4.0.tar.gz

./configure -prefix=/app/redis-cluster/rubydata

make && make install

5、安装ruby的gem。

./gem install -l redis-3.2.2.gem

./gem list redis

6、分别进行启动不同端口的redis,如图。

./redis-server /app/redis-cluster/redis-4.0.9/redis-conf/redis6389.conf

./redis-server /app/redis-cluster/redis-4.0.9/redis-conf/redis6399.conf

./redis-server /app/redis-cluster/redis-4.0.9/redis-conf/redis6489.conf

./redis-server /app/redis-cluster/redis-4.0.9/redis-conf/redis6499.conf

./redis-server /app/redis-cluster/redis-4.0.9/redis-conf/redis6589.conf

./redis-server /app/redis-cluster/redis-4.0.9/redis-conf/redis6599.conf

7、进行集群创建。执行./redis-trib.rb help如图。

1、 create :创建集群

2、 check :检查集群

3、 info :查看集群信息

4、 fix :修复集群

5、 reshard :在线迁移slot

6、 rebalance :平衡集群节点slot数量

7、 add-node :将新节点加入集群

8、 del-node :从集群中删除节点

9、 set-timeout :设置集群节点间心跳连接的超时时间

10、 call :在集群全部节点上执行命令

11、 import :将外部redis数据导入集群

8、创建集群。创建的时候碰到了一个问题,提示需要调整内核参数vm.overcommit_memory。

vm.overcommit_memory=0

vm.overcommit_memory=1

vm.overcommit_memory=2

0表示内核将检查是否有足够的内存来供应用进程使用,如果没有将会将错误状态返回给应用程序。

1表示允许分配物理内存不管当前内存状态。

2表示内核允许分配超过物理内存+交换内存的综合。

需要给/etc/sysctl.conf中加入参数并执行sysctl.conf -p 生效

执行集群创建命令开始创建集群。

./redis-trib.rb create --replicas 1 10.131.156.170:6389 10.131.156.170:6399 10.131.156.170:6489 10.131.156.170:6499 10.131.156.170:6589 10.131.156.170:6599

./redis-trib.rb create --replicas 1 10.131.156.170:6389 10.131.156.170:6399 10.131.156.170:6489 10.131.156.170:6499 10.131.156.170:6589 10.131.156.170:6599

----replicas 1 表示附带几个slave也就是从节点。

9、登录6389节点,进行设置key。

10、登录6599节点,进行获取key,验证数据是否同步。如图,可以看到集群数据已经自动同步。

至此,3主3从的redis集群已经搭建完毕。

原文地址:https://www.cnblogs.com/tigergaonotes/p/11073283.html

时间: 2024-10-10 17:01:14

redis 5.0 集群搭建的相关文章

linux Redis 5.0集群搭建

文档结构如下: Redis cluster 是redis的分布式解决方案,在3.0版本正式推出后,有效的解决了redis分布式方面的需求:当遇到单机内存,并发,流量等瓶颈是,可以采用cluster架构方案达到负载均衡的目的. 官方网站: https://redis.io/topics/cluster-tutorial Redis数据分区 Redis cluster 采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式: Slot=CRC16(key)&16384.每个节点负

Redis 3.0集群(二)

在Redis 3.0集群(一)中讲了Redis集群的基本搭建.这一节主要讲对Redis集群的操作. 添加Master节点到集群 按照Redis集群一的方式,创建端口为7006的新实例,并启动该实例 将7006添加到集群: redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000 node:新节点没有包含任何数据, 因为它没有包含任何slot.新加入的加点是一个主节点, 当集群需要将某个从节点升级为新的主节点时, 这个新节点不会被选中. 给新节点分配

Redis进阶实践之十一 Redis的Cluster集群搭建

原文:Redis进阶实践之十一 Redis的Cluster集群搭建 一.引言 本文档只对Redis的Cluster集群做简单的介绍,并没有对分布式系统的所涉及到的概念做深入的探讨.本文只是针对如何设置集群.测试和操作集群做了简述,并且从用户的角度描述了系统的行为,并不涉及Redis集群规范中所包含的细节.但是,本教程试图从最终用户的角度来解释有关Redis的Cluster集群的可用性和一致性的特点,并以简单易懂的方式讲解. 请注意,本教程需要使用Redis 3.0版本或更高版本. 如果您打算部署

Ubuntu14.04下Hadoop2.2.0集群搭建

系统版本: master: Ubuntu 14.04  salve1: Ubuntu 14.04 hadoop: hadoop 2.2.0 1.系统配置以及安装SSH无密码登陆环境(master&slaves): 修改本机(master)和子节点(slaveN)机器名:打开/etc/hostname文件 sudo gedit /etc/hostname (修改后需重启才能生效) 修改host文件(映射各个节点IP): sudo gedit /etc/hosts 在后面添加内容为: 172.22.

Ubuntu 12.04下spark1.0.0 集群搭建(原创)

spark1.0.0新版本的于2014-05-30正式发布啦,新的spark版本带来了很多新的特性,提供了更好的API支持,spark1.0.0增加了Spark SQL组件,增强了标准库(ML.streaming.GraphX)以及对JAVA和Python语言的支持: 下面,我们首先进行spark1.0.0集群的安装,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机,增加更多的slave只需重复slave部分的内容即可.: 系统版本

Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机,增加更多的slave只需重复slave部分的内容即可. 系统版本: master:Ubuntu 12.04 slave:Ubuntu 12.04 hadoop:hadoop 2.2.0 安装ssh服务:sudo apt-get install ssh 有时也要更新一下vim:sudo apt-ge

redis3.0集群搭建

Redis集群搭建 redis cluster介绍 节点自动发现.集群容错slave选举.Cluster管理.集群配置管理. 集群中的每个Redis节点需要2个TCP连接端口,如6379端口用于Client连接,16379端口用于集群数据通信 集群采用Hash Slot方案,而不是一致性哈希,共16384个Hashslot.如果有3台机器,那么NodeA在0-5500,NodeB 在5501-11000,NodeC在11001-16384.这种设计下,添加,删除新Node比较方便. 由于Hash

redis 主从备份服务器集群搭建

redis 主从备份服务器集群 由于redis是要自己手动编译的,我就不折腾了,刚好手上有windown 64位的,就拿来练练手,等哪天在服务器上搭建项目了再弄, 启动命令:redis-server  --port  端口 在window  下启动4个redis-server  服务,端口分别为:1000,2000,3000,4000,  这样也相当于开了4台redis 数据库服务器, 现在使用  redis-cli  -host server_ip  -p  端口   连接对应的服务器 注:

超详细的 Redis Cluster 官方集群搭建指南

今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,ruby安装需要指定openssl. 安装openssl $ wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz $ tar -zxvf openssl-1.0.2m.tar.gz $ cd openssl-1.0.2m $ ./config