我一直在 Docker 容器中使用 Elasticsearch 进行测试。我没有通过其他含义模拟响应,而是从生产服务器导入一个小数据集并将其用作测试数据,从而更容易,更易维护和更可靠。
我最近碰到了一个问题,我无法访问主机系统的配置设置,以便将 vm.max_map_count 提升为 262144 。 ES不会开始。
所以,经过努力寻找替代方案之后,我意识到我可以通过设置以下内容来设置ES以在开发模式下运行:
http.host = 0.0.0.0
transport.host = 127.0.0.1
通过阅读文档,我知道这些参数的含义。
但仍然不清楚为什么它让ES在开发模式下运行。那会有什么限制。
有人知道为什么吗?
提前致谢。
参考文献:
答案 0 :(得分:1)
Elasticsearch 5.x有一系列"bootstrap checks",它们在Elasticsearch启动时运行,以检查可能导致节点运行期间出现故障的配置问题。如果其中任何一项检查失败,则节点将在启动期间中止,如果它绑定到非本地IP地址。
基本上,开发模式=在本地IP地址上运行。一旦定义了非本地IP地址,就会认为您正在生产中运行该节点(这很有意义),强制执行检查,并且您基本上可以保护自己运行该节点。
您可以阅读有关此here的更多信息。