ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis集群生产环境搭建,主从搭建,动态增删步骤

2021-06-06 16:32:18  阅读:111  来源: 互联网

标签:Redis redis 192.168 集群 126.131 增删 搭建 节点 7006


文章目录

1.解压安装初始化

(本次计划先安装3主3从)
上传安装包到linux目录/home/app/里
解压安装包
tar -xvf redis-5.0.4.tar.gz
在这里插入图片描述
为方便使用把解压后的redis-5.0.4改名为redis
mv redis-5.0.4 redis
安装redis,跳入到redis根目录中顺序执行
(1):make
在这里插入图片描述
(2):make install
在这里插入图片描述

2.修改所有单台redis的配置文件redis.conf

所有配置根据不同机器的实际端口等情况适当调整
注释本地绑定IP地址(69行)
在这里插入图片描述
关闭保护模式(88行)
在这里插入图片描述
开启后台启动 (136行)
在这里插入图片描述
修改端口号(92行)
在这里插入图片描述
修改pid文件(存储进程号)(158行)
在这里插入图片描述
修改持久化文件路径(rdb,aof存储文件都在这个目录)(263行)
在这里插入图片描述
设定内存优化策略,其他类型选择上述文章有解释(597行)
在这里插入图片描述

关闭AOF模式(699行)
在这里插入图片描述
开启集群配置(838行)
在这里插入图片描述
开启集群配置文件(以后可查看该文件知道各节点信息)(846行)
在这里插入图片描述
修改集群超时时间(852行)
在这里插入图片描述

2.启动全部6台redis单机

启动命令(根据配置文件的方式启动)

redis-server redis.conf

如果是伪集群,可以用脚本
vim start.sh

#!/bin/sh
redis-server 7000/redis.conf &
redis-server 7001/redis.conf &
redis-server 7002/redis.conf &
redis-server 7003/redis.conf &
redis-server 7004/redis.conf &
redis-server 7005/redis.conf &

同理也可以创建关闭脚本(自行操作)
sh start.sh

3.组成集群

老版本生成集群命令
./redis-trib.rb create --replicas 1 192.168.126.131:7000 192.168.126.131:7001 192.168.126.131:7002 192.168.126.131:7003 192.168.126.131:7004 192.168.126.131:7005
命令解释:通过redis-trib.rb可创建redis集群,然后通过–replicas后面接的数字,表示1个主节点对应几个从节点。
redis-trib.rb工具在redis解压目录下的src里
新版本5.0以上生成集群命令
redis-cli --cluster create --cluster-replicas 1 192.168.126.131:7000 192.168.126.131:7001 192.168.126.131:7002 192.168.126.131:7003 192.168.126.131:7004 192.168.126.131:7005
命令解释:通过redis-cli命令可创建redis集群, --cluster-replicas 1表示创建的主节点对应几个从节点
安装
在这里插入图片描述
进入集群:
redis-cli -p port
redis-cli -h 192.168.126.131 -p 7001 (-c可写)
查看信息常用命令:
cluster info
clustrt nodes
info replication

4.增加主节点7006

增加7006到集群里
和步骤1相似先创建启动一台7006端口的redis单机
添加7006到集群中
老版本命令
命令:第一个ip:port 为新增的节点ip和端口,第二个ip:port为集群中的任意节点和端口
./redis-trib.rb add-node 192.168.126.131:7006 192.168.126.131:7000
新版本5.0以上命令
命令:第一个ip:port 为新增的节点ip和端口,第二个ip:port为集群中的任意节点和端口
redis-cli --cluster add-node 192.168.126.131:7006 192.168.126.131:7000
在这里插入图片描述
进入集群任意一台redis-cli -h 192.168.126.131 -p 7000
cluster nodes可查看主机从机数量等信息,可以发现新加的7006为master(主)
在这里插入图片描述
7006目前没有哈希槽,也不会存放数据。
需要给7006分配hash槽。
规则 16384/现在的主节点数量=槽数(这里16384/4=4096)(每4096大小分配一个主节点)
为7006重新分配哈希槽
老版本命令
规则:连接集群中任意一个可用结点都行
./redis-trib.rb reshard 192.168.126.131:7000
新版本5.0以上命令
规则:连接集群中任意一个可用结点都行
redis-cli --cluster reshard 192.168.126.131:7000
填写4096然后填写7006对应的id
在这里插入图片描述
在这里插入图片描述
输入源节点 id,槽将从源节点中拿,分配后的槽在源节点中将不存在
输入 all 从所有源节点中获取槽
输入 done 完成,该node取消分配
在这里插入图片描述

5.新增从节点->7007作为主机7006的从加入集群

类似步骤一创建启动一台7007端口的机器
老版本操作步骤
./redis-trib.rb add-node --slave --master-id 主节点id 新节点的ip:port 集群中节点ip:port(集群中任一节点都可以)
如果cluster-config-file没有指定则默认为nodes.conf,可能会报错:
[ERR] Node XXXXXX is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0
解决:删除生成的配置文件 nodes.conf,删除后再执行命令。
新版本5.0以上操作步骤
执行
redis-cli --cluster add-node 192.168.126.131:7007 192.168.126.131:7000
在这里插入图片描述
7007此时为主,没有哈希槽
进入7007查看其他节点信息,找到7006信息,并实现挂载到7006
挂载命令cluster replicate 7006的id
在这里插入图片描述
再次执行cluster nodes 发先自己已经是从了,keys *也能获取到主的数据

6.删除从节点

查看主从关系
先进入集群任意一台执行cluster nodes 查看主机和从机(发现有主机7006)
如果移除某台主比如7006这台主机的从机(不知道7006的从机是谁)
进入7006主机,执行info replication可查看从机信息,从而才能进行对应从机移除
从节点未分配槽,所以能直接移除
现在移除7006的从机7007
老版本
./redis-trib.rb del-node 移除的节点ip: 移除的节点port 移除的节点id
新版本5.0以上
redis-cli --cluster del-node 移除的节点ip: 移除的节点port 移除的节点id
执行 redis-cli --cluster del-node 192.168.126.131:7007 7007的id
执行成功7007端口进程会关闭

7. 删除主节点

(直接删除主节点肯会报错,需要把它的从节点先删了)
主节点被分配了hash槽,需要先把槽重新分配给其他主节点。
当前一共有4个主机,每个节点掌管4096个槽,如果移除7006这个主节点需要把7006自身管理的4096个槽交给其他主机管理,然后自己才能移除下线。
执行
redis-cli --cluster reshard 192.168.126.131:7000 (集群的随机一台)
将主机7006管理的槽全部交给7001(槽的交出管理需要保证这两个机器全是主机
(4096值在界面能看出来是4096 slots,具体大小根据界面7006提示槽数量来写,如果提示7006槽数是100,则下面自己填写的参数是100)
在这里插入图片描述
cluster nodes查看发现7001管理了之前7006的槽位,而7006没了槽(有的connected后面没有参数因为它是slave从机,而从机不会被分配槽)
在这里插入图片描述
最后
执行 redis-cli --cluster del-node 192.168.126.131:7006 7006的id
就完成了

我的更多redis操作请点击

我的redis更多原理和功能分析,主从搭建哨兵等等,springboot整合redis

Redis8大数据类型常用操作大全

标签:Redis,redis,192.168,集群,126.131,增删,搭建,节点,7006
来源: https://blog.csdn.net/UnicornRe/article/details/117571609

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有