ERROR: [3] bootstrap checks failed. You must address the points described in the following [3] lines before starting Elasticsearch.
bootstrap check failure [1] of [3]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
bootstrap check failure [3] of [3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts
原因:系统虚拟内存默认最大映射数为65530,无法满足ES系统要求,需要调整为262144以上。
解决方法:
1、#修改文件,添加参数,使用root用户设置vm.max_map_count参数
[root@bogon ~]# vim /etc/sysctl.conf
#添加参数
vm.max_map_count = 262144
2、#重新加载/etc/sysctl.conf配置
[root@bogon ~]# sudo sysctl -p 立即生效
3、将当前用户的软硬限制调大。找到文件 /etc/security/limits.conf,编辑,在文件的最后追加如下配置:
es hard nofile 65537
es soft nofile 65535
4、修改elasticsearch.yml配置文件,将下面几列内容放开
network.host: 0.0.0.0
node.name: node-1
cluster.initial_master_nodes: [“node-1”]
> [root@bogon config]# cat elasticsearch.yml
> # ======================== Elasticsearch Configuration =========================
> #
> # NOTE: Elasticsearch comes with reasonable defaults for most settings.
> # Before you set out to tweak and tune the configuration, make sure you
> # understand what are you trying to accomplish and the consequences.
> #
> # The primary way of configuring a node is via this file. This template lists
> # the most important settings you may want to configure for a production cluster.
> #
> # Please consult the documentation for further information on configuration options:
> # https://www.elastic.co/guide/en/elasticsearch/reference/index.html
> #
> # ---------------------------------- Cluster -----------------------------------
> #
> # Use a descriptive name for your cluster:
> #
> #cluster.name: elasticsearch
> #
> # ------------------------------------ Node ------------------------------------
> #
> # Use a descriptive name for the node:
> # node.name: node-1
> #
> # Add custom attributes to the node:
> #
> #node.attr.rack: r1
> #
> # ----------------------------------- Paths ------------------------------------
> #
> # Path to directory where to store the data (separate multiple locations by comma):
> #
> #path.data: /path/to/data
> #
> # Path to log files:
> #
> #path.logs: /path/to/logs
> #
> # ----------------------------------- Memory -----------------------------------
> #
> # Lock the memory on startup:
> #
> #bootstrap.memory_lock: true
> #
> # Make sure that the heap size is set to about half the memory available
> # on the system and that the owner of the process is allowed to use this
> # limit.
> #
> # Elasticsearch performs poorly when the system is swapping the memory.
> #
> # ---------------------------------- Network -----------------------------------
> #
> # By default Elasticsearch is only accessible on localhost. Set a different
> # address here to expose this node on the network:
> # network.host: 0.0.0.0
> #
> # By default Elasticsearch listens for HTTP traffic on the first free port it
> # finds starting at 9200. Set a specific HTTP port here:
> #
> #http.port: 9200
> #
> # For more information, consult the network module documentation.
> #
> # --------------------------------- Discovery ----------------------------------
> #
> # Pass an initial list of hosts to perform discovery when this node is started:
> # The default list of hosts is ["127.0.0.1", "[::1]"]
> #
> #discovery.seed_hosts: ["host1", "host2"]
> #
> # Bootstrap the cluster using an initial set of master-eligible nodes:
> # cluster.initial_master_nodes: ["node-1"]
> #
> # For more information, consult the discovery and cluster formation module documentation.
> #
> # ---------------------------------- Various -----------------------------------
> #
> # Require explicit names when deleting indices:
> #
> #action.destructive_requires_name: true
> #
> # ---------------------------------- Security ----------------------------------
> #
> # *** WARNING ***
> #
> # Elasticsearch security features are not enabled by default.
> # These features are free, but require configuration changes to enable them.
> # This means that users don’t have to provide credentials and can get full access
> # to the cluster. Network connections are also not encrypted.
> #
> # To protect your data, we strongly encourage you to enable the Elasticsearch security features.
> # Refer to the following documentation for instructions.
> #
> # https://www.elastic.co/guide/en/elasticsearch/reference/7.16/configuring-stack-security.html
> [root@bogon config]#
5、用es用户,重启es
[es@bogon bin]$ su es
接着切换到es的bin目录下,重启es
[es@bogon bin]$ ./elasticsearch
6、浏览器中访问
完美解决!