我在非生产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,这样我就可以将注意力集中在这个项目的其他方面:提高系统限制将比现有的时间花费更多的时间。
答案 0 :(得分:3)
是的,你可以!
(我发现)这非常脏,但如果将discovery.type
配置为single-node
,则不会运行引导程序检查。
是的,这意味着您无法在笔记本电脑中测试群集。
答案 1 :(得分:2)
@ThomasDecaux是正确的,您可以从技术上禁用引导程序。 但是您有时只能禁用引导检查。这是您可以禁用引导检查的时间:
elasticsearch.yml
配置了discovery.type: single-node
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或使用 单节点发现)。 “