这些设置是如何使Elasticsearch在开发模式下运行的?
我一直在Docker容器中使用Elasticsearch进行testing。 通过其他含义来嘲笑响应,我发现从我的生产服务器导入一个小型数据集并将其用作testing数据更容易,更易于维护和可靠。
我最近碰到一个问题,我没有访问主机系统的configuration设置,将vm.max_map_countboost到262144 。 ES不会启动。
所以,在努力寻找替代品之后,我意识到我可以通过设置以下内容来设置ES在开发模式下运行:
http.host = 0.0.0.0
transport.host = 127.0.0.1
我通过阅读文档了解这些参数是指什么。
但是仍然不清楚为什么ES使用开发模式运行。 那将是什么限制。
谁会知道为什么?
提前致谢。
裁判:
- https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html
这里描述: https : //www.elastic.co/guide/en/elasticsearch/reference/master/system-config.html
开发模式与生产模式默认情况下,Elasticsearch假定您正在开发模式下工作。 如果以上任何设置configuration不正确,则将向日志文件写入警告,但是您将能够启动并运行Elasticsearch节点。
只要configuration
network.host
等network.host
设置,Elasticsearch就会假定您正在转移到生产环境,并将上述警告升级为exception。 这些exception将阻止您的Elasticsearch节点启动。 这是一个重要的安全措施,以确保您不会因为configuration错误的服务器而丢失数据。
默认安装不允许群集联网(将传输绑定到本地主机):
默认情况下,Elasticsearch绑定到本地主机进行HTTP和传输(内部)通信。 这对于Elasticsearch的下载和玩,以及日常的开发是很好的,但对于生产系统来说是没有用的。 为了形成一个集群,Elasticsearch实例必须通过传输通信到达,因此它们必须将传输绑定到外部接口。 因此,如果Elasticsearch实例没有将传输绑定到外部接口(缺省值),则认为Elasticsearch实例处于开发模式,否则在生产模式下将Elasticsearch实例绑定到外部接口。 请注意,可以独立于传输来configurationHTTP
Elasticsearch 5.x有一系列“引导程序检查” ,当Elasticsearch启动时检查可能导致节点在运行期间出现故障的configuration问题。 如果这些检查中的任何一个失败,则节点将在启动期间中止, 如果它被绑定到非本地IP地址 。
基本上, 开发模式=在本地IP地址上运行 。 一旦你定义了一个非本地IP地址,就认为你正在生产中运行这个节点(这很有意义),这些检查被强制执行,并且基本上由你自己保护来运行该节点。
你可以在这里阅读更多。
- child_process不能执行docker运行
- 更改完成后,GitLab泊坞窗镜像不会重新configurationgitlab.rb中的某些参数
- 在docker-compose中运行Django应用程序:连接到postgres数据库拒绝了第一次,但后来工作
- 你如何从shell脚本运行函数和variables到docker?
- udhcpc未能获得DHCP租约GNS3
- RunKit如何创build虚拟服务器?
- docker-compse生成错误 – 不受支持的版本
- docker检查containerId与Mounts字段比较Volumes字段的手段是什么?
- 使用Docker从stream浪转移到stream浪