提问人:infantus 提问时间:11/15/2023 最后编辑:infantus 更新时间:11/15/2023 访问量:21
ECS Sonarqube(elasticsearch) - 获取节点锁失败
ECS Sonarqube(elasticsearch) - failed to obtain node locks
问:
我在 aws ecs 中设置了一个 sonarqube 社区版,兼容 ec2。我将声纳扩展和 elasticsearch 数据文件夹挂载到 efs 接入点。它运行平稳,直到另一个 ecs sonarqube 任务扩展但失败并出现以下问题,我认为它是 elasticsearch efs 问题。
java.lang.IllegalStateException: failed to obtain node locks, tried [/opt/sonarqube/data/es8]; maybe these locations are not writable or multiple nodes were started on the same data path?
我已将我的 efs 接入点设置为 Posix 用户 = 1000:1000 创建信息=1000:1000(0750)
对此可以做些什么?提前致谢。
答:
SonarQube 的免费开源版本不支持一次运行多个实例。此外,运行嵌入式 Elasticsearch 服务器一次只能处理一个实例。因此,要将 SonarQube 扩展到单个节点之外,您必须使用 SonarQube 的付费版本之一,并且还需要在容器外部运行 Elasticsearch。SonarQube 的 Data Center 版本实际上是唯一将“水平可扩展性”列为受支持功能的版本。
如果您只想在 ECS 中运行单个实例,并且能够在不遇到此错误的情况下执行部署,则可以将 Desired Count 设置为 ,禁用自动扩展,并将 ECS Deployment Maximum Percent 设置为 ,并将 Deployment Minimum Healthy Percent 设置为 。这将导致部署期间出现一些停机时间,但这是避免运行多个 SonarQube 实例时出现的锁定问题的唯一方法。1
100
0
评论