我有一个应用程序使用 JAVA API 通过传输客户端连接到另一台服务器上的弹性搜索节点。该节点启用了屏蔽安全性,因此我使用 maven 获取屏蔽 jar。我的应用程序运行良好。但是,现在我正在尝试为我的应用程序的构建过程设置集成测试。因此,我没有尝试传输客户端,而是尝试运行本地节点来运行我的测试。但是,本地节点抱怨以下问题。
- 许可证的有效期仅为 30 天。该文档完美地描述了如何使用各种工具执行此操作,但没有说明如何通过 JAVA API 更新许可证。
- 我收到 org.elasticsearch.shield.authz.AuthorizationException:用户 [__es_system_user] 的操作 [indices:data/write/index] 未经授权。发生这种情况是因为我的节点没有配置任何用户。文档再次完美地描述了如何将用户添加到节点,但没有解释如何使用 JAVA API 完成此操作。
这我想知道是否可以禁用集成测试的屏蔽。我尝试了以下方法,但没有奏效。任何帮助表示赞赏。
nodeBuilder().local(true).settings(ImmutableSettings.builder()
.put("shield.enabled", false)).build()