当前位置:网站首页>Linux environment redis cluster to build "recommended collection"
Linux environment redis cluster to build "recommended collection"
2022-07-31 20:00:00 【Full stack programmer webmaster】
大家好,又见面了,我是你们的朋友全栈君.
(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)
127.0.0.1:7000 127.0.0.1:7001
127.0.0.1:7002
127.0.0.1:7003
127.0.0.1:7004
127.0.0.1:7005
1、安装redis
上传服务器,解压,编译
tar -zxvf redis-3.2.1.tar.gz
cd redis-3.2.1
make
编译后
cd src
复制
redis-server
redis-cli
两个文件
2、创建集群目录
Create a folder corresponding to the clusterredisCluster
built in this folder6subfolders are r7000、r7001、r7002、r7003、r7004、r7005
Paste the file copied in the first step above6subfolders,并授权
chmod 775 redis-cli
chmod 775 redis-server
Then create files in each subfolderredis.conf
文件内容
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
daemonize yes
bind 192.168.*.* protected-mode no
#These two configurations are not added,其他机器无法访问
The port number is different for each file,分别是7000、7001、7002、7003、7004、7005
3、Start these six separatelyredis实例
to the corresponding folder
./redis-server redis.conf
查询redis进程如下
[[email protected] redis]# ps -ef|grep redis
root 11092 1 0 14:35 ? 00:00:00 ./redis-server *:7000 [cluster]
root 11296 1 0 14:46 ? 00:00:00 ./redis-server *:7001 [cluster]
root 11403 1 0 14:53 ? 00:00:00 ./redis-server *:7002 [cluster]
root 11441 1 0 14:55 ? 00:00:00 ./redis-server *:7003 [cluster]
root 11486 1 0 14:57 ? 00:00:00 ./redis-server *:7004 [cluster]
root 11532 1 0 14:59 ? 00:00:00 ./redis-server *:7005 [cluster]
root 11545 11135 0 15:00 pts/2 00:00:00 grep –color=auto redis
4、创建redis集群
在安装路径的src文件夹下执行
./redis-trib.rb create –replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
[[email protected] src]# ./redis-trib.rb create –replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
/usr/bin/env: ruby: No such file or directory
报错:/usr/bin/env: ruby: No such file or directory
because it is implementedruby的脚本,需要ruby的环境
安装ruby环境
[[email protected] src]# yum install ruby
Execute the create cluster command again
[[email protected] src]# ./redis-trib.rb create –replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require’: cannot load such file — redis (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require’
from ./redis-trib.rb:25:in `<main>’
报错cannot load such file — redis (LoadError)…
缺少rubygems组件,使用yum安装
[[email protected] src]# yum install rubygems
Execute the create cluster command again
[[email protected] src]# ./redis-trib.rb create –replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require’: cannot load such file — redis (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require’
from ./redis-trib.rb:25:in `<main>’
缺少redis和ruby的接口,使用gem 安装
gem install redis
After executing the create cluster command again,根据提示输入yesAfter the cluster is created successfully
[[email protected] src]# ./redis-trib.rb create –replicas 1 192.168.8.21:7000 192.168.8.21:7001 192.168.8.21:7002 192.168.8.21:7003 192.168.8.21:7004 192.168.8.21:7005
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes…
Using 3 masters:
192.168.8.21:7000
192.168.8.21:7001
192.168.8.21:7002
Adding replica 192.168.8.21:7003 to 192.168.8.21:7000
Adding replica 192.168.8.21:7004 to 192.168.8.21:7001
Adding replica 192.168.8.21:7005 to 192.168.8.21:7002
M: ef86d6276bb1a8bbab07a1bd4ff8dc3f54ea73a1 192.168.8.21:7000
slots:0-5460 (5461 slots) master
M: 087d6d2f129f00262444d5bfc012b51239ee1636 192.168.8.21:7001
slots:5461-10922 (5462 slots) master
M: 67bc3416a311770682abaffde395fbfa34d7b5b0 192.168.8.21:7002
slots:10923-16383 (5461 slots) master
S: 22dceae7e42ff41e098854c476ec0af27a2cbfbc 192.168.8.21:7003
replicates ef86d6276bb1a8bbab07a1bd4ff8dc3f54ea73a1
S: 3231ff554f46b0310db5ece8a589be96b3098bed 192.168.8.21:7004
replicates 087d6d2f129f00262444d5bfc012b51239ee1636
S: 167b9645c6f1f347363c4f397c84eca666bd0456 192.168.8.21:7005
replicates 67bc3416a311770682abaffde395fbfa34d7b5b0
Can I set the above configuration? (type ‘yes’ to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join…
>>> Performing Cluster Check (using node 192.168.8.21:7000)
M: ef86d6276bb1a8bbab07a1bd4ff8dc3f54ea73a1 192.168.8.21:7000
slots:0-5460 (5461 slots) master
M: 087d6d2f129f00262444d5bfc012b51239ee1636 192.168.8.21:7001
slots:5461-10922 (5462 slots) master
M: 67bc3416a311770682abaffde395fbfa34d7b5b0 192.168.8.21:7002
slots:10923-16383 (5461 slots) master
M: 22dceae7e42ff41e098854c476ec0af27a2cbfbc 192.168.8.21:7003
slots: (0 slots) master
replicates ef86d6276bb1a8bbab07a1bd4ff8dc3f54ea73a1
M: 3231ff554f46b0310db5ece8a589be96b3098bed 192.168.8.21:7004
slots: (0 slots) master
replicates 087d6d2f129f00262444d5bfc012b51239ee1636
M: 167b9645c6f1f347363c4f397c84eca666bd0456 192.168.8.21:7005
slots: (0 slots) master
replicates 67bc3416a311770682abaffde395fbfa34d7b5b0
[OK] All nodes agree about slots configuration.
>>> Check for open slots…
>>> Check slots coverage…
[OK] All 16384 slots covered.
5、测试
使用redis-cliThe command enters the cluster environment
./redis-cli -c -p 7000
nodes.conf文件内容
5e21c3a40f5b875d1f46724febc91059ccf3f36c 127.0.0.1:7004 slave 00158021c8af59f49ce83605601d79ef69dfb515 0 1476083335844 5 connected
bebc7ad0769b63d5dad22f59cf7e11e8eff8142e 127.0.0.1:7003 slave 2102328b7c064ece181bf431ae983f936770aef6 0 1476083334841 4 connected
d264a13fb4968cd93c3b700050e38c16000ee0ed 127.0.0.1:7005 slave 086e344b0e6fdee5e0e896c040aadd2cef32f6d9 0 1476083333841 6 connected
086e344b0e6fdee5e0e896c040aadd2cef32f6d9 127.0.0.1:7002 master – 0 1476083335744 3 connected 10923-16383
2102328b7c064ece181bf431ae983f936770aef6 127.0.0.1:7000 myself,master – 0 0 1 connected 0-5460
00158021c8af59f49ce83605601d79ef69dfb515 127.0.0.1:7001 master – 0 1476083334341 2 connected 5461-10922
vars currentEpoch 6 lastVoteEpoch 0
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127481.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢
Shell script quick start to actual combat -02
高效并发:Synchornized的锁优化详解
MySQL - multi-table query
高通cDSP简单编程例子(实现查询高通cDSP使用率、签名),RK3588 npu使用率查询
ResNet的基础:残差块的原理
Architecture Battalion Module 8 Homework
Socket回顾与I/0模型
第六章
Apache EventMesh distributed event-driven multi-runtime
学生管理系统第一天:完成登录退出操作逻辑 PyQt5 + MySQL5.8
随机推荐
All-platform GPU general AI video supplementary frame super-score tutorial
保证接口数据安全的10种方式
Arduino框架下STM32全系列开发固件安装指南
The whole network is on the verge of triggering, and the all-round assistant for content distribution from media people - Rongmeibao
迁移学习——Domain Adaptation
rj45对接头千兆(百兆以太网接口定义)
京东按关键字搜索商品 API
架构实战营模块 8 作业
How can we improve the real yourself, become an excellent architect?
Introduction to Audio Types and Encoding Formats in Unity
MySQL---sort and pagination
Three.js入门
INeuOS industrial Internet operating system, the equipment operational business and "low code" form development tools
深度学习中的batch(batch size,full batch,mini batch, online learning)、iterations与epoch
Getting Started with Tkinter
Teach you how to deploy Nestjs projects
NVIDIA has begun testing graphics products with AD106 and AD107 GPU cores
1161. Maximum Sum of Elements in Layer: Hierarchical Traversal Application Problems
MySQL---Basic select statement
Mobile web development 02