Redis本地集群搭建(5版本以上)

Redis本地集群搭建(5版本以上)

2019年11月3日10:05:48

步骤

1、下载安装Redis的安装包

2、复制5份,一共6份Redis的解压安装版,修改每个Redis节点的端口并开启节点

3、修改每个Redis节点的端口,以及开启集群模式

3、使用redis-cli --cluster create ip:port给集群的节点分配哈希槽(如果要使用主从,只需要添加master节点的ip:port即可)

4、使用redis-cli --cluster check ip:port查看节点信息

5、使用redis-cli --cluster add-node node-ip:node-port master-ip:master-port --cluster-slave --cluster-master-id master节点id

具体实现

1、编译

下载安装Redis的安装包

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

解压安装包

tar zxf redis-5.0.6.tar.gz

进入到解压后的文件夹

ps:编译前,服务器需要安装gcc

yum install gcc-c++

输入make命令即可编译,出现下图提示表示编译成功

也可以指定编译位置

make install PREFIX=path

编译后的文件

2、复制并修改配置,开启

使用命令复制

cp -rf 文件夹路径 文件夹路径

效果

修改redis.conf的配置,给复制的每一份redis都修改成不同的端口,后台启动

# 默认
daemonize no
port 6379
# cluster-enabled yes

#修改
daemonize yes
port 7001
cluster-enabled yes

开启每个节点(批量执行)

cd /software/redis/redis6379/bin
./redis-server ./redis.conf
cd /software/redis/redis7000/bin
./redis-server ./redis.conf
cd /software/redis/redis7001/bin
./redis-server ./redis.conf
cd /software/redis/redis7002/bin
./redis-server ./redis.conf
cd /software/redis/redis7003/bin
./redis-server ./redis.conf
cd /software/redis/redis7004/bin
./redis-server ./redis.conf

出现下图表示所有节点开启成功

3、分配哈希槽

使用如下命令

redis-cli --cluster create ip:port ip:port ip:port

4、查看分配信息

使用命令redis-cli --cluster check ip:port查看分配的信息

可以看出,6379分配到的是0-5460,7001是5461-10922,7003是10923-16383。

5、添加从节点

使用命令

redis-cli --cluster add-node node-ip:node-port master-ip:master-port --cluster-slave --cluster-master-id master节点id

添加完毕后查看节点信息

cluster nodes

从上图可以看出,设置了3主3从的集群模式。

6、测试key

连接redis(-c表示是集群模式)

redis-cli -p 6379 -c

可以看出,在端口为6379的节点上添加key,通过算法将这个key转发到了7001端口的节点上。

进入7001端口的节点,可以查到这个key值。

同时,7001端口的从节点也接收到了这个key值。

7、测试哨兵

使用 ps aux|grep redis查询每个redis节点的端口

这时候主从节点之间是正常的

关闭端口为7001的节点

7001节点的7002端口从节点自动升级到了master节点。

重新开启7001节点,自动降级到slave。


Redis高可用集群的水平扩展

扩展主节点

新建端口为7005和7006的Redis节点并运行。

把7005节点加入容器

redis-cli --cluster add-node 127.0.0.1:7005 127.0.0.1:6379

分配哈希槽给7005节点

从7001节点分配1000个哈希槽给7005节点
all表示均匀分配(从每个节点取一点哈希槽出来)
done表示从当前节点取

[[email protected] bin]# redis-cli --cluster reshard 127.0.0.1:7001
>>> Performing Cluster Check (using node 127.0.0.1:7001)
S: 152f1f15ac36784362e8733a393c9a257f7a8ba2 127.0.0.1:7001
   slots: (0 slots) slave
   replicates f9129fca620934624742e25a31d08c545a9d583e
S: ac613c6d40e0d860662effb7403a67fe9b6029aa 127.0.0.1:7000
   slots: (0 slots) slave
   replicates 77cbdfe644fdc0e50e550cad44a3ed144c8d2499
M: f9129fca620934624742e25a31d08c545a9d583e 127.0.0.1:7002
   slots:[5962-10922] (4961 slots) master
   1 additional replica(s)
S: 09ede6784ccc5a41b82db3fe4c544b5c126f455e 127.0.0.1:7004
   slots: (0 slots) slave
   replicates bd08af40b95169524c27da654302c9f12d8a9e8c
M: bd08af40b95169524c27da654302c9f12d8a9e8c 127.0.0.1:7003
   slots:[11422-16383] (4962 slots) master
   1 additional replica(s)
M: 6c87fc578eec8bd7d588d111347dd7a7bd21dd0b 127.0.0.1:7005
   slots: (0 slots) master
M: 77cbdfe644fdc0e50e550cad44a3ed144c8d2499 127.0.0.1:6379
   slots:[0-5961],[10923-11421] (6461 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)? 1000
What is the receiving node ID? 6c87fc578eec8bd7d588d111347dd7a7bd21dd0b
Please enter all the source node IDs.
  Type 'all' to use all the nodes as source nodes for the hash slots.
  Type 'done' once you entered all the source nodes IDs.
Source node #1: all

Ready to move 1000 slots.

扩展从节点

将7006节点的Redis添加到集群中。

 redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7005 --cluster-slave --cluster-master-id 6c87fc578eec8bd7d588d111347dd7a7bd21dd0b

参考

Redis入门(适合新手)

redis集群搭建(非常详细,适合新手)

Redis5 cluster人工指定主从关系

Redis 5 高可用集群的水平扩展

原文地址:https://www.cnblogs.com/Rlxy93/p/11811146.html

时间: 2024-10-06 00:59:17

Redis本地集群搭建(5版本以上)的相关文章

Redis Cluster集群搭建测试

# Redis Clutser # ## 一.Redis Cluster集群 ## 参考资料: http://www.cnblogs.com/lykxqhh/p/5690923.html Redis集群搭建的方式有多种,例如使用zookper等,但从redis3.0之后版本支持redis cluster集群,Redis Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接.其redis cluster架构图如下: 其结构特点: 1.所有的redis节点彼此互

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

Redis也用了一段时间了,记录一下相关集群搭建及配置详解,方便后续使用查阅. 提纲 l  Redis安装 l  整体架构 l  Redis主从结构搭建 l  Redis容灾部署(哨兵sentinel) l  Redis常见问题 Redis安装 发行版:CentOS-6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 下载redis,选择合适的版本 [[email protected] software]# wget http:/

Redis Cluster集群搭建与应用

1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接.其redis-cluster架构图如下: 其结构特点 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. 节点的fail是通过集群中超过半数的节点检测失效时才生效. 客户端与redis节点直

redis centos集群搭建和java应用

1. 首先要ssh免密登录 redis集群,3台虚拟机,6个节点,每台机器2个节点一主一从. 192.168.132.154 c0192.168.132.156 c1192.168.132.155 c2 下载并解压文件,请到官网下载.文末有网盘下载地址. tar -zxvf redis-5.0.4.tar.gz 安装或更新C语言环境 yum install gcc-c++安装Redis,默认安装在当前目录下,可以使用PREFIX参数更改安装位置make install PREFIX=/home/

Redis Cluster集群搭建

1.服务器 192.168.1.201 192.168.1.204 192.168.1.205 192.168.1.206 192.168.1.207 192.168.1.208 因为Redis Cluster如果数据冗余是1的话,至少要3个Master和3个Slave. 2.安装步骤 (1)准备工作 mkdir /usr/local/redis_cluster mkdir /usr/local/redis_cluster (安装所需的文件) cd /usr/local/redis_cluste

redis主从集群搭建

一.安装redis 首先登陆官网下载压缩包,我安装的是最新版本5.X,下载地址http://download.redis.io/releases/redis-5.0.2.tar.gz. 进入文件所在目录解压 tar -zxf redis-5.0.2.tar.gz 进入src目录,cd redis-5.0.2/src/ 编译,make && make install 这里因为只有一台服务器所以通过修改端口号的方式搭建伪集群 二.修改配置文件 cp redis.conf redis-6380.

redis伪集群搭建(亲测无坑)

一.单机版安装部署,伪集群只需要操作前1-8步即可,再往下浏览找到:二.单机版-伪集群 ?安装部署继续搭建,如需设置密码参照第10步 1.安装基本工具 yum install -y?gcc-c++ vim lrzsz wget? 2.创建.进入目录 mkdir /opt/redis cd /opt/redis 3.下载 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 4.解压.查看文件 tar zxvf redis-5.0.5.

redis cluster 集群搭建步骤和注意事项

1.安装Ubuntu ,修改root的密码. sudo passwd  (apt-get update 更新系统) 2.安装 Gcc 和G++  sudo apt-get install build-essential 3.下载 Redis  wget http://download.redis.io/releases/redis-3.2.3.tar.gz 4.解压 tar -xvf redis-3.0.2.tar.gz 5.进入 redis-3.0.2 ,执行make编译源码,进入src目录 

Redis Cluster 集群搭建部署

1.准备 1>redis-3.0 tar包 2>yum ruby rubygem 提示:①安装rubygem时,有可能需先安装ruby-rdoc,然后执行ruby setup.rb与gem install -l redis              ②安装redis,先解压,进入rdis安装目录,make&make install&make test,make过程中需保证tcl1.85版本以上 2.当前选定6台机器,端口默认.三个master与三个slave(如果在一台机器,修