当前位置:网站首页>windows下Redis-cluster集群搭建
windows下Redis-cluster集群搭建
2022-07-05 04:26:00 【十一姐】
一、下载安装
需要下载如下三个:
Redis、Ruby语言运行环境、Redis的Ruby驱动redis-3.2.2.gem
1、Redis-x64-5.0.14.1.zip 下载, 6 台 redis 服务器,搭建伪集群,并运行在不同的端口 6380-6385
2、Ruby下载,ruby脚本来实现集群搭建,一路next,最后取消勾选,finish,然后cmd里面输出
ruby -v
代表安装成功3、安装Redis的Ruby驱动rubygems下载,是一个用于对 Ruby组件进行打包的 Ruby 打包系统;下载后解压,然后打开命令窗口切换到解压目录中,执行命令
ruby setup.rb
二、搭建Redis集群
要让集群正常运作至少需要3个主节点,建议配置3个主节点,其余3个作为各个主节点的从节点(也是官网推荐的模式),通过同一台电脑不同端口模拟
1、新建一个文件夹Redis-cluster,并将前面下载的
Redis-x64-5.0.14.1.zip
进行解压,并将文件夹重命名为63802、打开6380目录下的文件
redis.windows.conf
,修改里面的端口号port为6380,主要改了如下五处,1. port 6380 //修改为与当前文件夹名字一样的端口号 2. appendonly yes //指定是否在每次更新操作后进行日志记录,Redis在 默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导4. 致一段时间内的数据丢失。 yes表示:存储方式,aof,将写操作记录保存到日志中 3. cluster-enabled yes //开启集群模式 4. cluster-config-file nodes-6380.conf //保存节点配置,自动创建,自动更新(建议命名时加上端口号) 5. cluster-node-timeout 15000 //集群超时时间,节点超过这个时间没反应就断定是宕机
3、在6380目录下新建文件
start.bat
,内容如下,用来进入每个端口命名的文件夹下启动服务title redis-6380 redis-server.exe redis.windows.conf
4、复制6380文件夹,并分别重命名为6381-6385,同时修改各自目录下的
redis.windows.con
与start.bat
文件里面的端口号,将6380替换成对应的6381-63855、打开任意cmd窗口执行
gem install redis
6、构建集群脚本,从6380目录下复制粘贴
redis-cli.exe
到Redis-cluster目录下,同时6380~6385每个目录下的start.bat文件双击运行并不要关闭!!!
7、然后在当前Redis-cluster目录下打开cmd窗口,执行如下命令,到此集群构建完毕
redis-cli --cluster create 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 --cluster-replicas 1
三、集群环境测试
- 参考文档
redis-cli -c -h 127.0.0.1 -p 6380
- 查看集群信息:
cluster info
- 查看主从关系:
info replication
, 集群节点按照从主到从的方式从左到右依次排列6个redis 节点,因此也可以看出6380,6381,6382三个是主节点,6383,6384,6385是三个从节点,对应关系是:主6380从6383 - 查看各个节点分配slot:
cluster nodes
四、将redis-cluster注册生windows服务
控制台启动redis server如果控制台关闭了之后redis server也会一同被关闭,那么我们就需要让redis在后台运行需要将redis server注册为windows服务,然后再start
所以我们用如下方式可以解决上面的问题,到6380-6385目录下分别重命名服务,并启动,
请至少保证三个主节点服务已经启动在后台,否则会导致连接上redis-cluster,但是连不上里面的db0
# 通过service-name启动redis服务: redis-server --service-install redis.windows.conf --service-name redis6380 --loglevel verbose redis-server --service-start --service-name redis6380 # 通过service-name停止redis服务: redis-server --service-stop --service-name redis6380
如果服务启动失败,以管理员身份打开cmd执行
SC delete 服务名称
,然后当对应目录重新建服务
五、打开redis可视化工具,如图连接成功
- 如图,测试连接成功
- 默认是127.0.0.1可以访问,如下修改.conf,可以修改bind指定局域网ip访问,
修改配置后,需要重启服务方可生效
边栏推荐
- Seven join join queries of MySQL
- Hexadecimal to octal
- Threejs Internet of things, 3D visualization of farms (II)
- Practice | mobile end practice
- Is there a sudden failure on the line? How to make emergency diagnosis, troubleshooting and recovery
- Longyuan war "epidemic" 2021 network security competition web easyjaba
- Mxnet imports various libcudarts * so、 libcuda*. So not found
- Possible stack order of stack order with length n
- Kwai, Tiktok, video number, battle content payment
- Realize the attention function of the article in the applet
猜你喜欢
如何优雅的获取每个分组的前几条数据
【虛幻引擎UE】實現UE5像素流部署僅需六步操作少走彎路!(4.26和4.27原理類似)
【虚幻引擎UE】打包报错出现!FindPin错误的解决办法
官宣!第三届云原生编程挑战赛正式启动!
File upload bypass summary (upload labs 21 customs clearance tutorial attached)
NetSetMan pro (IP fast switching tool) official Chinese version v5.1.0 | computer IP switching software download
American 5g open ran suffered another major setback, and its attempt to counter China's 5g technology has failed
Function (basic: parameter, return value)
The development of mobile IM based on TCP still needs to keep the heartbeat alive
About the prompt loading after appscan is opened: guilogic, it keeps loading and gets stuck. My personal solution. (it may be the first solution available in the whole network at present)
随机推荐
[moteur illusoire UE] il ne faut que six étapes pour réaliser le déploiement du flux de pixels ue5 et éviter les détours! (4.26 et 4.27 principes similaires)
蛇形矩阵
Serpentine matrix
A application wakes up B should be a fast method
Study notes 7
根据入栈顺序判断出栈顺序是否合理
Live broadcast preview | container service ack elasticity prediction best practice
Longyuan war "epidemic" 2021 network security competition web easyjaba
Introduction to RT thread kernel (4) -- clock management
TPG x AIDU | AI leading talent recruitment plan in progress!
web资源部署后navigator获取不到mediaDevices实例的解决方案(navigator.mediaDevices为undefined)
Threejs Internet of things, 3D visualization of farms (I)
Sword finger offer 07 Rebuild binary tree
PHP读取ini文件并修改内容写入
可观测|时序数据降采样在Prometheus实践复盘
Un réveil de l'application B devrait être rapide
How can CIOs use business analysis to build business value?
open graph协议
Scheduling system of kubernetes cluster
Function (error prone)