为集成测试禁用屏蔽
Disabling shield for intergration tests
我有一个应用程序使用 JAVA API 通过传输客户端连接到另一台服务器上的弹性搜索节点。该节点启用了屏蔽安全,因此我使用 maven 来获取屏蔽罐。我的应用 运行 没问题。但是,现在我正在尝试为我的应用程序的构建过程设置集成测试。因此,我没有尝试传输客户端,而是尝试 运行 一个本地节点来 运行 我的测试。但是,本地节点投诉以下问题。
- 许可证有效期仅为 30 天。该文档很好地描述了如何使用各种工具执行此操作,但它没有说明如何通过 JAVA API.
更新许可证
- 我得到一个 org.elasticsearch.shield.authz.AuthorizationException:操作 [indices:data/write/index] 未授权用户 [__es_system_user]。发生这种情况是因为我的节点没有配置任何用户。同样,该文档完美地描述了如何将用户添加到节点,但没有解释如何使用 JAVA API 来完成此操作。
这我想知道是否可以只为集成测试禁用屏蔽。我尝试了以下方法,但没有用。感谢任何帮助。
nodeBuilder().local(true).settings(ImmutableSettings.builder()
.put("shield.enabled", false)).build()
您使用的是哪个版本的 Elasticsearch 和 Shield? shield.enabled
适合我;我刚刚在一个使用 ES 1.5.2 和 Shield 1.2.0
的简单 Maven 项目中做了以下操作
final Node node = NodeBuilder.nodeBuilder()
.settings(ImmutableSettings.builder().put("shield.enabled", false))
.local(true).node();
Client client = node.client();
ClusterHealthResponse response = client.admin().cluster().prepareHealth().get();
System.out.println(response.toString());
执行此操作时没有关于许可的错误。如果您仍然有一些错误,您可以将它们添加到您的原始 post?
我有一个应用程序使用 JAVA API 通过传输客户端连接到另一台服务器上的弹性搜索节点。该节点启用了屏蔽安全,因此我使用 maven 来获取屏蔽罐。我的应用 运行 没问题。但是,现在我正在尝试为我的应用程序的构建过程设置集成测试。因此,我没有尝试传输客户端,而是尝试 运行 一个本地节点来 运行 我的测试。但是,本地节点投诉以下问题。
- 许可证有效期仅为 30 天。该文档很好地描述了如何使用各种工具执行此操作,但它没有说明如何通过 JAVA API. 更新许可证
- 我得到一个 org.elasticsearch.shield.authz.AuthorizationException:操作 [indices:data/write/index] 未授权用户 [__es_system_user]。发生这种情况是因为我的节点没有配置任何用户。同样,该文档完美地描述了如何将用户添加到节点,但没有解释如何使用 JAVA API 来完成此操作。
这我想知道是否可以只为集成测试禁用屏蔽。我尝试了以下方法,但没有用。感谢任何帮助。
nodeBuilder().local(true).settings(ImmutableSettings.builder()
.put("shield.enabled", false)).build()
您使用的是哪个版本的 Elasticsearch 和 Shield? shield.enabled
适合我;我刚刚在一个使用 ES 1.5.2 和 Shield 1.2.0
final Node node = NodeBuilder.nodeBuilder()
.settings(ImmutableSettings.builder().put("shield.enabled", false))
.local(true).node();
Client client = node.client();
ClusterHealthResponse response = client.admin().cluster().prepareHealth().get();
System.out.println(response.toString());
执行此操作时没有关于许可的错误。如果您仍然有一些错误,您可以将它们添加到您的原始 post?