elasticsearch.yml
基本配置:
-
cluster.name: your cluster name,
-
node.name: ES所在的node的名称,可设可不设,集群时建议必设,这样ES产生的日志会更容易的让你从哪个节点中找问题,
如果不设置的话,每次启动节点名称都是不一样的,es的日志就会混乱。 -
path.data: ES数据存放的目录,多目录以逗号分割,注:数据目录不要在安装目录下,这样升级ES的时候,
数据可以保存下来,避免误操作导致数据丢失。日志和插件目录一样。
数据多目录官方解释:数据可以保存到多个不同的目录, 如果将每个目录分别挂载不同的硬盘,这可是一个简单且高效实现一个软磁盘阵列( RAID 0 )的办法。Elasticsearch 会自动把条带化(注:RAID 0 又称为 Stripe(条带化),在磁盘阵列中,数据是以
条带的方式贯穿在磁盘阵列所有硬盘中的) 数据分隔到不同的目录,以便提高性能。 -
path.logs:日志目录
-
path.plugins:插件目录
-
discovery.zen.minimum_master_nodes:最小主节点数(法定个数就是 ( master 候选节点个数 / 2) + 1)
此设置有助于防止一个集群出现多个master争夺控制劝导致的数据不完整(建议三个节点以上)
集群运行时使用以下命令修改:PUT /_cluster/settings { "persistent" : { "discovery.zen.minimum_master_nodes" : 2 } } 动态的去修改,不需要重启集群,当你添加和删除 master 节点的时候,你需要更改这个配置。
集群恢复方面的配置:
- gateway.recover_after_nodes:重启集群时,集群中存在最少几个节点时,开始恢复数据
- node.master: false 是否可作为msater,注意集群中可作为master即为后选节点
- gateway.expected_nodes: 我的集群期望有几个节点(集群已存在的节点)
- gateway.recover_after_time: 重启时愿意等待多久,超出这个时间后即时没达到期望也开始恢复数据。
集群配置:
- discovery.zen.ping.unicast.hosts:["host1", "host2:port"]
官网介绍,默认是单播,即机器只要和上述中的node节点中的一个连接上,就可以联系到master节点,并加入集群,所以上述可以不用列出集群内所有节点。
jvm.options
启动空间不足时,修改该文件的启动空间,默认2g -Xms512M -Xmx512M