在安装完elasticsearch不修改elasticsearch.yml的情况下以默认配置启动elasticsearch服务后,只能本机通过127.0.0.1:9200来访问。如果需要远端访问,则需要修改elasticsearch.yml。
1.修改绑定地址。
network.host: 0.0.0.0
2.因为是一个全新的集群,所以必须指定该集群在第一次选举中应该使用的一组符合主节点条件的节点作为选举配置。此配置只在首次形成集群时需要。已经加入集群的节点将选举配置存储在它们的数据文件夹中,并在重新启动后重用这些配置,而正在加入现有集群的新节点可以从集群的当前主节点接收这些信息。如果一个全新的集群未设置选举配置则会产生如下错误信息:
the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts
, discovery.seed_providers, cluster.initial_master_nodes] must be configured
如错误信息中提示,至少配置三个配置中的任意一个。其中cluster.initial_master_nodes为7.0新引入的配置项。discovery.seed_hosts对应旧版中的discovery.zen.ping.unicast.hosts,discovery.seed_providers对应旧版中的discovery.zen.hosts_provider。
cluster.initial_master_nodes:设置一系列符合主节点条件的节点的主机名或 IP 地址来引导启动集群。如果手动设置了node.name,还可以设置为此节点的名称。
discovery.seed_hosts:自动发现设置,配置之后集群的主机之间可以自动发现。
discovery.seed_providers:基于文件的自动发现设置,配置之后集群的主机之间可以自动发现。
3.此外如果是linux下还可能有以下错误:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
max number of threads [3539] for user [elastic] is too low, increase to at least [4096]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
根据错误信息修改配置。
文件描述符、最大线程数,root用户编辑配置文件limits.conf。
vim /etc/security/limits.conf
nofile问文件描述符、nproc为最大线程数。
* soft nofile 65535
* hard nofile 65535
* hard nproc 4096
* soft nproc 4096
虚拟内存区域,root用户编辑配置文件sysctl.conf。
vim /etc/sysctl.conf
添加如下配置:
vm.max_map_count = 262144
修改完成后执行命令:
sysctl -p
此步骤配置完成后,需要运行elasticsearch的用户退出重新登陆配置才会生效。