我可以在Elasticsearch 5.4中禁用引导程序检查吗?

时间:2017-05-18 15:46:14

标签: elasticsearch

我在非生产RHEL6服务器上运行Elasticsearch。我只有一个没有root访问权限的常规用户帐户。我处于一个非常封闭的企业环境中,因此获取root权限将非常耗时,我需要一个解决方案。

当我开始这个过程时,我得到了这些错误:

max file descriptors [8192] for elasticsearch process is too low, increase to at least [65536]
max number of threads [1024] for user [salimfadhley] is too low, increase to at least [2048]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

有没有办法让ElasticSearch忽略此错误条件并启动。

我完全清楚忽略错误通常被认为是不明智的,但是在这种情况下我只需要启动并运行ES,这样我就可以将注意力集中在这个项目的其他方面:提高系统限制将比现有的时间花费更多的时间。

2 个答案:

答案 0 :(得分:3)

是的,你可以!

(我发现)这非常脏,但如果将discovery.type配置为single-node,则不会运行引导程序检查。

是的,这意味着您无法在笔记本电脑中测试群集。

请参阅https://github.com/elastic/elasticsearch/issues/21655

答案 1 :(得分:2)

@ThomasDecaux是正确的,您可以从技术上禁用引导程序。 但是您有时只能禁用引导检查。这是您可以禁用引导检查的时间:

  • elasticsearch.yml配置了discovery.type: single-node
  • 或者您的N个节点都在localhost上使用了禅宗发现

如果您需要在N台计算机上将N个节点作为一个群集运行,那么不能禁用引导检查。

当您将elasticsearch.yml配置为使用外部接口并且没有discovery.type: single-node时,则无法禁用引导检查。我尝试过。

我有一台机器没有通过引导测试,但是我没有sudo权限来修复它。我试图通过将the -Des.enforce.bootstrap.checks=false传递给Java JVM options来禁用检查,但是引导检查仍处于启用状态。

这是2018年的github问题,开发人员说您不能禁用引导检查https://github.com/elastic/elasticsearch/issues/31933

  

“没有用于禁用引导检查的命令行选项。   es.enforce.bootstrap.checks选项用于在它们启用时   由于Elasticsearch未检测到正在使用而被禁用   在生产中(单个节点,只能通过localhost或使用   单节点发现)。 “