You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenSearch执行securityadmin.sh报.opendistro_security主分片未激活超时错误

OpenSearch securityadmin执行报错解决方案

问题1:.opendistro_security索引主分片未激活超时

  • 优先排查集群基础状态,执行GET _cluster/health确认集群状态:
    • 若集群为red状态,先检查4台节点的9200、9300端口互通性,确认防火墙、安全组规则已放通对应端口
    • 核对所有节点opensearch.yml中discovery.seed_hosts、cluster.initial_master_nodes配置一致,无节点IP/hostname填写错误
    • 检查所有节点的证书权限是否正确:证书文件需设置为600权限,属主为OpenSearch运行用户,根证书root-ca.pem所有节点保持一致
  • 若集群状态正常但分片未分配,执行GET _cluster/allocation/explain查看具体原因:
    • 若为分配策略限制,执行PUT _cluster/settings {"persistent": {"cluster.routing.allocation.enable": "all"}}放开分配限制
    • 若为节点磁盘使用率超出阈值,清理磁盘空间或调整磁盘水位线配置
    • 首次初始化场景下可删除损坏的旧安全索引:执行DELETE .opendistro_security,重新运行securityadmin脚本时会自动重建该索引

问题2:配置内容长度超出上限

该报错是因为OpenSearch默认单文档写入上限为2kb,安全配置文件体积超出阈值导致,按以下步骤调整:

  • 临时关闭所有节点的安全插件校验:在opensearch.yml中添加plugins.security.disabled: true配置,重启整个集群
  • 调整集群全局写入上限:
    PUT _cluster/settings
    {
      "persistent": {
        "http.max_content_length": "10mb"
      }
    }
    
  • 调整安全索引的字段限制:
    PUT .opendistro_security/_settings
    {
      "index.mapping.total_fields.limit": 1000
    }
    
  • 移除所有节点opensearch.yml中的plugins.security.disabled: true配置,重启集群
  • 可选优化:精简securityconfig目录下的配置文件,删除未使用的角色、认证域配置,降低配置体积

修正后的securityadmin执行命令

原执行命令中-h参数后未填写主节点地址,也是执行失败的常见原因,修正后参考命令:

./securityadmin.sh -cd ../securityconfig/ -nhnv \
-cacert ../../../config/root-ca.pem \
-cert ../../../config/kirk.pem \
-key ../../../config/kirk-key.pem \
-h <主节点IP或主机名> \
-cn apm-cluster-1 -arc -diagnose

将<主节点IP或主机名>替换为实际的OpenSearch主节点地址即可。

内容的提问来源于stack exchange,提问作者noamsh88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:24:07