Apache Ignite控制脚本(control.sh/bat)完全指南

Apache Ignite控制脚本(control.sh/bat)完全指南

ignite Apache Ignite ignite 项目地址: https://gitcode.com/gh_mirrors/ignite16/ignite

概述

Apache Ignite的控制脚本(control.sh或control.bat)是一个强大的命令行工具,它允许管理员对Ignite集群进行监控和管理操作。这个脚本位于Ignite安装目录的/bin文件夹下,是日常运维工作中不可或缺的工具。

基本语法

控制脚本的基本语法格式如下:

# Unix/Linux系统
control.sh <连接参数> <命令> <参数>

# Windows系统
control.bat <连接参数> <命令> <参数>

连接集群配置

默认情况下,控制脚本会尝试连接本地节点(localhost:11211)。如果需要连接远程集群,可以使用以下参数:

| 参数 | 描述 | 默认值 | |------|------|--------| | --host | 节点主机名或IP地址 | localhost | | --port | 连接端口 | 11211 | | --user | 用户名 | 无 | | --password | 用户密码 | 无 | | --ping-interval | 心跳间隔(毫秒) | 5000 | | --ping-timeout | 心跳超时(毫秒) | 30000 |

对于安全连接,还支持SSL相关参数配置,包括SSL协议、密钥库、信任库等设置。

集群状态管理

获取集群状态

集群可以处于三种状态之一:

  • ACTIVE: 活跃状态,可读写
  • INACTIVE: 非活跃状态
  • READ_ONLY: 只读状态

获取当前状态命令:

control.sh --state

激活集群

当使用原生持久化时,需要显式激活集群:

control.sh --set-state ACTIVE

停用集群

control.sh --set-state INACTIVE [--yes]

注意:停用集群会导致所有正在运行的事务中止,请谨慎操作。

基线拓扑管理

基线拓扑是持久化数据分布的基础框架,控制脚本提供了全面的管理功能。

查看基线拓扑

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 consistentId1,consistentId2,...

# 移除节点(需先下线)
control.sh --baseline remove consistentId1,consistentId2,...

基线拓扑自动调整

对于内存集群,基线拓扑自动调整默认启用;持久化集群默认禁用。

# 启用自动调整(30秒超时)
control.sh --baseline auto_adjust enable timeout 30000

# 禁用自动调整
control.sh --baseline auto_adjust disable

事务管理

控制脚本可以监控和管理集群中的事务。

查看事务

control.sh --tx <过滤条件> --info

常用过滤参数:

  • --min-duration: 最小执行时间(秒)
  • --label: 事务标签(支持正则)
  • --limit: 返回结果数量限制

终止事务

# 终止执行超过100秒的事务
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 account-.*

# 查看缓存组分布
control.sh --cache list . --groups

创建/销毁缓存

# 从Spring配置创建缓存
control.sh --cache create --springXmlConfig config.xml

# 销毁特定缓存
control.sh --cache destroy --caches cache1,cache2

# 销毁所有用户缓存
control.sh --cache destroy --destroy-all-caches

缓存扫描

# 扫描缓存条目(限制10条)
control.sh --cache scan cache1 --limit 10

最佳实践建议

  1. 生产环境操作:在执行破坏性操作(如停用集群、销毁缓存)前,务必先确认操作影响范围。

  2. 基线拓扑调整:在持久化集群中,调整基线拓扑会触发数据重平衡,建议在低峰期进行。

  3. 事务监控:定期检查长时间运行的事务,它们可能是性能瓶颈的来源。

  4. 安全连接:生产环境建议配置SSL连接参数,确保管理通道安全。

  5. 自动化脚本:对于重复性管理任务,可以编写shell脚本封装控制命令。

通过掌握这些控制脚本的使用方法,您可以有效地管理和维护Apache Ignite集群,确保其稳定高效运行。

ignite Apache Ignite ignite 项目地址: https://gitcode.com/gh_mirrors/ignite16/ignite

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴策峥Homer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值