securityadmin.sh 故障排除
本页包含 securityadmin.sh
的故障排除步骤。该脚本位于 /plugins/opensearch-security/tools/securityadmin.sh
。有关使用此工具的更多信息,请参阅应用配置更改。
目录
集群不可达
如果 securityadmin.sh
无法访问集群,它会输出
OpenSearch Security Admin v6
Will connect to localhost:9200
ERR: Seems there is no opensearch running on localhost:9200 - Will exit
检查主机名
默认情况下,securityadmin.sh
使用 localhost
。如果您的集群运行在其他主机上,请使用 -h
选项指定主机名。
检查端口
请检查您正在针对 HTTP 端口运行 securityadmin.sh
,而不是传输端口。
默认情况下,securityadmin.sh
使用 9200
。如果您的集群运行在其他端口,请使用 -p
选项指定端口号。
配置的节点均不可用
如果 securityadmin.sh
可以访问集群,但无法更新配置,它会输出此错误
Contacting opensearch cluster 'opensearch' and wait for YELLOW clusterstate ...
Cannot retrieve cluster state due to: None of the configured nodes are available: [{#transport#-1}{mr2NlX3XQ3WvtVG0Dv5eHw}{localhost}{127.0.0.1:9300}]. This is not an error, will keep on trying ...
-
尝试使用
-icl
和-nhnv
运行securityadmin.sh
。如果这有效,请检查您的集群名称以及 SSL 证书中的主机名。如果这无效,请尝试使用
--diagnose
运行securityadmin.sh
并查看诊断跟踪日志文件。 -
添加
--accept-red-cluster
以允许securityadmin.sh
在红色集群上操作。
检查集群名称
默认情况下,securityadmin.sh
使用 opensearch
作为集群名称。
如果您的集群有不同的名称,您可以使用 -icl
选项完全忽略该名称,或者使用 -cn
选项指定该名称。
检查主机名验证
默认情况下,securityadmin.sh
会验证您节点证书中的主机名是否与节点的实际主机名匹配。
如果情况并非如此(例如,如果您正在使用演示证书),您可以通过添加 -nhnv
选项来禁用主机名验证。
检查集群状态
默认情况下,securityadmin.sh
仅在集群状态至少为黄色时执行。
如果您的集群状态为红色,您仍然可以执行 securityadmin.sh
,但需要添加 -arc
选项。
检查安全索引名称
默认情况下,安全插件使用 .opendistro_security
作为配置索引的名称。如果您在 opensearch.yml
中配置了不同的索引名称,请使用 -i
选项指定它。
“错误:DN 不是管理员用户”
如果用于启动 securityadmin.sh
的 TLS 证书不是管理员证书,脚本会输出
Connected as CN=node-0.example.com,OU=SSL,O=Test,L=Test,C=DE
ERR: CN=node-0.example.com,OU=SSL,O=Test,L=Test,C=DE is not an admin user
执行脚本时必须使用管理员证书。要了解更多信息,请参阅配置超级管理员证书。
使用诊断选项
有关 securityadmin.sh
未执行的更多信息,请添加 --diagnose
选项
./securityadmin.sh -diagnose -cd ../../../config/opensearch-security/ -cacert ... -cert ... -key ... -keypass ...
脚本将打印生成的诊断文件的位置。