当前位置: 首页 > news >正文

部署tendis 集群

1.概述

我们在部署 tendis 集群的时候,我们需要准备 6台机器,3主三从,当然 我们可以将他们部署同一台机器上,只要端口不一样就可以。
我们准备 6个文件夹
端口分别从 7001到 7006

构建过程

2.1.准备6个文件夹

tendis1
tendis2
tendis3
tendis4
tendis5
tendis6

文件夹下放

start.sh
stop.sh
tendisplus.conf

这些文件从 tendis 的 script copy 出来
需要修改
stop.sh

ip=127.0.0.1
port=7001
echo shutdown |../bin/redis-cli -h ${ip} -p ${port}

这个文件修改端口即可
tendisplus.conf ,这个文件也是

port 7001
daemon on
loglevel notice
logdir ./home/log
dumpdir ./home/dump
dir ./home/db
pidfile ./home/tendisplus.pid
slowlog ./home/log/slowlog
rocks.blockcachemb 4096
executorThreadNum 48
cluster-enabled yes

这个文件也是修改端口和是否开启集群

2.2.编写批处理一次性启动6个节点

  • 启动节点
#!/bin/bashecho "Starting all Tendis instances..."# 循环处理 tendis1 到 tendis6
for i in {1..6}; dodir="tendis${i}"if [[ -d "$dir" ]]; thenecho "----------------------------------------"echo "Processing $dir..."# 进入目录,执行脚本,然后返回 (pushd/popd 是另一种方式)( cd "$dir" && echo "In directory: $(pwd)" && ./start.sh )if [[ $? -eq 0 ]]; thenecho "Started $dir successfully."elseecho "Failed to start $dir."fielseecho "Directory $dir not found, skipping."fi
doneecho "----------------------------------------"
echo "All Tendis instance start commands issued."

这样我们可以一次性启动 6个节点

  • 停止节点
#!/bin/bash
echo "Stoping all Tendis instances..."
# 循环处理 tendis1 到 tendis6
for i in {1..6}; dodir="tendis${i}"if [[ -d "$dir" ]]; thenecho "----------------------------------------"echo "Processing $dir..."# 进入目录,执行脚本,然后返回 (pushd/popd 是另一种方式)( cd "$dir" && echo "In directory: $(pwd)" && ./stop.sh )if [[ $? -eq 0 ]]; thenecho "stop $dir successfully."elseecho "Failed to stop $dir."fielseecho "Directory $dir not found, skipping."fi
done
echo "----------------------------------------"
echo "All Tendis instance stop commands issued."

2.3 节点握手

当6个节点启动后,我们可以连到 节点1 和其他的节点握手
连接节点1

redis-cli -p 7001

分别执行

cluster meet 127.0.0.1 7002
cluster meet 127.0.0.1 7003
cluster meet 127.0.0.1 7004
cluster meet 127.0.0.1 7005
cluster meet 127.0.0.1 7006

2.4 分配slots

默认情况下,Tendis存储版跟Redis一样,将所有的数据映射到16384个slot中,每个key都会对应一个槽。只有把slot分配给了Tendis节点,Tendis节点才能响应与slot相关的命令,否则就会返回move错误。

分配slots可使用cluster addslots指令
我们分别将 1,3,5 节点分配 solt
分别登录 7001,7003,7005
连接后分别执行

cluster addslots {0..5461}
cluster addslots {5462..10922}
cluster addslots {10923..16383}

2.5 配置主从复制

我们将1,3,5 作为主节点,2,4,6 作为从 节点
我们先查看节点
登录节点1 执行命令

cluster nodes

看到节点

9474f3e26932126611bf00940ac06fbe9ceb1940 127.0.0.1:7003@17003 master - 0 1763797462000 0 connected 5462-10922
88419aaa88393e14da923f65795266c076cb71f7 127.0.0.1:7001@17001 myself,master - 0 1763797462000 2 connected 0-5461
3dba50eb72c1790fb0109795d92b24457b33e406 127.0.0.1:7005@17005 master - 0 1763797462634 4 connected 10923-16383
8200c98af4c657a681bbd1582a22fc06a86e6c07 127.0.0.1:7004@17004 slave 9474f3e26932126611bf00940ac06fbe9ceb1940 0 1763797461000 3 connected
3b5b89b032a8dc9c1c232da4ee03e1725c750e7a 127.0.0.1:7002@17002 slave 88419aaa88393e14da923f65795266c076cb71f7 0 1763797461579 2 connected
00aa76b24d4d43f48b81893438350914fc10fc1a 127.0.0.1:7006@17006 slave 3dba50eb72c1790fb0109795d92b24457b33e406 0 1763797463680 5 connected

这个是我配置好了的情况,如果没有配置主从的话 6个节点都是主节点。

我们分别登录 2,4,5 执行命令

cluster replicate 4233f87b9899774feb71bcef1cfeec964de0535b
cluster replicate 这里是主节点的ID

2.6 测试

我们可以登录其中的某个节点
执行 set 命令,可以看到他会将key 分布到不同的节点上。
我们连接 tendis 时 需要使用如下命令

./redis-cli -c -p 端口:~/tendis/tendisplus/bin$ ./redis-cli -c -p 7001
127.0.0.1:7001> get name
-> Redirected to slot [5798] located at 127.0.0.1:7003
"小李"

这样集群就配置完成了。

http://www.gsyq.cn/news/57390.html

相关文章:

  • 完整教程:Flowable工作流引擎:核心表结构概述
  • 2025年刮板蒸发器定做厂家权威推荐榜单:刮板薄膜蒸发器/薄膜蒸发器/刮板式蒸发器装备源头厂家精选
  • 单部电梯调度程序三次迭代设计与实践总结 - 23207231
  • hadoop与mysql的综合应用解决方案
  • 详细介绍:2. 容器常用操作
  • 一条SQL的完整执行过程:小明查询员工信息的完整冒险故事
  • 2025年便宜的化工品国际快递企业权威推荐榜单:药品国际快递/粉末国际快递/专线国际快递服务商精选
  • 杂题选做-6
  • 2025.11.22 考试总结
  • 新赛季临时脱产日记
  • 数据采集第3次作业
  • php openssl, RSA私钥有PKCS#1和PKCS#8,均包含有公钥
  • 2025 年 11 月中空吹塑机厂家推荐排行榜,吹塑机,挤出吹塑机,注射吹塑机,拉伸吹塑机,发泡吹塑机,工具箱吹塑机,瓶子吹塑机公司推荐
  • 2025.11.18 写题记录
  • 2025 最新支架厂家排行榜,出口级品质 + 定制服务 工程采购优选推荐指南热浸锌电缆/可调节角度隧道电缆沟/定制电缆沟/热镀锌电缆沟支架公司推荐
  • 渲染相关(Markdown、ByteMD、ReactMarkdown) - 实践
  • 2025年好吃不贵的餐厅服务权威推荐榜单:宝藏餐厅/好吃的餐厅/口碑好的餐厅服务精选
  • 2025年郑州婚姻心理咨询公司权威推荐榜单:心理健康咨询/家庭心理咨询/心理咨询源头公司精选
  • grub命令行启动linux
  • 2025 最新分频器厂家权威排行榜:EMF 三维电感技术加持,国际协会认证品质之选音响分频器/汽车音响分频器/喇叭分频器公司推荐
  • vue前端面试题——记录一次面试当中遇到的题(10) - 详解
  • HUST食堂解锁记录
  • 2025年浙江餐饮加盟服务商权威推荐榜单:上海加盟鲍鱼/燕之屋燕窝加盟/燕窝加盟服务商精选
  • 数位dp-模版
  • Trae实操:连接Vizro MCP建立内容可视化
  • 从renderToString到hydrate,从0~1手写一个SSR框架 - 指南
  • grep用法linux
  • Matplotlib 电影票房分析挑战
  • Snipaste 桌面截图工具 易上手:桌面 贴 图神器,高效截图不费力
  • SBD521S-30-ASEMI可直接替代安世1PS79SB10