Apache Ignite控制脚本(control.sh/bat)完全指南
2026-02-04 04:36:08作者:裴锟轩Denise
概述
Apache Ignite的控制脚本(control.sh/bat)是管理Ignite集群的强大工具,它提供了丰富的命令行接口来监控和控制集群状态。本文将全面介绍这个工具的使用方法,帮助管理员高效管理Ignite集群。
控制脚本基础
控制脚本位于Ignite安装目录的/bin/文件夹下,根据操作系统不同分为:
- Unix/Linux系统:
control.sh - Windows系统:
control.bat
基本语法结构为:
control.sh|bat <连接参数> <命令> <参数>
连接集群配置
默认情况下,脚本会尝试连接本地节点(localhost:11211)。如需连接远程集群,需指定连接参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
| --host | 节点主机名或IP地址 | localhost |
| --port | 连接端口 | 11211 |
| --user | 用户名 | - |
| --password | 用户密码 | - |
| --ping-interval | 心跳间隔(毫秒) | 5000 |
| --ping-timeout | 心跳超时(毫秒) | 30000 |
对于安全连接,还支持SSL相关参数配置,包括协议、加密套件、密钥库等安全设置。
集群状态管理
查看集群状态
集群可能处于三种状态之一:
- ACTIVE:活跃状态,可读写
- INACTIVE:非活跃状态
- READ_ONLY:只读状态
查看状态命令:
control.sh --state
激活/停用集群
激活集群(使用原生持久化时必须):
control.sh --set-state ACTIVE
停用集群(谨慎操作):
control.sh --set-state INACTIVE [--yes]
基线拓扑管理
基线拓扑(Baseline Topology)是Ignite持久化数据的重要概念,控制脚本提供了完整的管理功能。
查看基线拓扑
control.sh --baseline
输出示例:
Cluster state: active
Current topology version: 3
Baseline nodes:
ConsistentId=7d79a1b5-cbbd-4ab5-9665-e8af0454f178, State=ONLINE
ConsistentId=dd3d3959-4fd6-4dc2-8199-bee213b34ff1, State=ONLINE
管理基线节点
添加节点(触发重平衡):
control.sh --baseline add nodeId1,nodeId2
移除节点(节点必须已下线):
control.sh --baseline remove nodeId1,nodeId2
设置基线拓扑:
control.sh --baseline set nodeId1,nodeId2
恢复特定版本的基线拓扑:
control.sh --baseline version 5
基线自动调整
对于内存集群,基线自动调整默认启用;持久化集群默认禁用。
启用自动调整(设置超时毫秒):
control.sh --baseline auto_adjust enable timeout 30000
禁用自动调整:
control.sh --baseline auto_adjust disable
事务管理
查看事务
查看符合条件的事务:
control.sh --tx <过滤器> --info
常用过滤器参数:
- --xid:事务ID
- --min-duration:最小持续时间(秒)
- --min-size:最小事务大小
- --label:事务标签(支持正则)
- --nodes:指定节点列表
终止事务
终止长时间运行的事务:
control.sh --tx --min-duration 100 --kill
事务竞争检测
检测键级竞争情况(适用于排查长时间运行或挂起的事务):
# 检测所有节点上至少5个事务竞争的键
control.sh --cache contention 5
# 检测特定节点上的竞争
control.sh --cache contention 5 nodeId
输出会详细显示竞争键、相关事务和节点信息。
缓存管理
查看缓存信息
列出所有缓存:
control.sh --cache list .
查看缓存组分布:
control.sh --cache list . --groups
查看原子序列:
control.sh --cache list . --seq
创建缓存
从Spring XML配置创建缓存:
control.sh --cache create --springXmlConfig /path/to/config.xml
跳过已存在的缓存:
control.sh --cache create --springXmlConfig /path/to/config.xml --skip-existing
销毁缓存
销毁指定缓存:
control.sh --cache destroy --caches cache1,cache2
销毁所有用户创建的缓存:
control.sh --cache destroy --destroy-all-caches
清空缓存
清空指定缓存数据:
control.sh --cache clear --caches cache1,cache2
扫描缓存
扫描缓存条目(显示键值类型和内容):
control.sh --cache scan cacheName --limit 100
最佳实践
- 生产环境建议:始终使用--yes参数前先确认操作,关键操作建议先在测试环境验证
- 基线拓扑调整:在业务低峰期进行,避免重平衡影响性能
- 事务管理:定期检查长时间运行的事务,及时处理异常事务
- 缓存操作:大规模缓存操作前评估内存和网络影响
通过掌握这些控制脚本命令,您可以全面管理Ignite集群的各个方面,从集群状态到缓存管理,为系统运维提供强大支持。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0210- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
MarkFlowy一款 AI Markdown 编辑器TSX01
项目优选
收起
deepin linux kernel
C
27
12
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
619
4.08 K
Ascend Extension for PyTorch
Python
453
538
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
69
21
暂无简介
Dart
859
205
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
926
777
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.48 K
837
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
114
178
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
374
255
昇腾LLM分布式训练框架
Python
133
159