ES总结二:配置

基本配置

config目录是存放配置文件的地方,该目录下的elasticsearch.yml是基本配置文件,jvm.options是虚拟机参数配置文件,log4j2.properties是日志配置文件。Elasticsearch的一些常用配置介绍如下:
duster.name:my-application
配置Elasticsearch的集群名称,默认是“elasticsearch”Elasticsearch会自动发现在同调段下的Elasticsearch节点,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群.
node.name:node
配置Elasticsearch的节点名,默认随机指定一个漫威漫画里的3000多个角色的名字。和集群名称一样可以自定义,同一个集群的集群名称要配置统一,节点名称取不同值便于区分
node.master:true
指定该节点是否是master节点,默认是true,Elasticsearch默认集群中的第一台机器为master,如果这台机出现故障就会重新选举master
node.data:true
指定该节点是否存储索引数据,默认为true
index.numberofshards:5
设置默认索引分片个数,默认值为5,每个索引分成5个分片。在5.0版本以前有效,5.0版本以后会报参数异常,提示节点中不能指定索引级别的配置
index.numberof一replicas:1
设置默认索引副本个数,默认为1。和分片配置一样,只在5.0之前的版本配置生效
path.data:/path/to/data
设置索引数据的存储路径,默认是Elasticsearch根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,比如:path.data:/path/to/datal,/path/to/data2
path.logs:/path/to/logs
设置日志文件的存储路径,默认是Elasticsearch根目录下的logs文件夹
bootstrap.mlockall:true
设置为true来锁住内存。因为当jvm开始swapping时Elasticsearch的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给Elasticsearch
networkhost:192.1680.1
设置绑定的IP地址,可以是IPv4或IPv6的,默认为0.0.0.0
http.port:9200
设置对外服务的HTTP端口,默认为9200
transport.tcp.port:9300
设置节点间交互的TCP端口,也是JavaAPI中使用的端口,默认是9300
transport.tcp.compress:true
设置是否压缩TCP传输时的数据,默认为false,不压缩。
http,maxcontent—length:100mb
设置内容的最大容量,默认100mb
http.cors.enabled:false
是否使用HTTP协议对外提供服务,默认为true
discovery.zen.minimummasternodes:1
设置这个参数来保证集群中的节点可以知道其他N个有master资格的节点。默认为1。
discovery.zen.ping.timeout:3s
设置集群中自动发现其他节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高该值来防止自动发现时出错。
discovery.zen.ping.multicast.enabled:false
设置是否打开多播发现节点,默认是true
discovery.zen.ping.unicast.hosts:[’’hostl"Mhost2:portM,Mhost3[portX-portY]"]
设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。
script.engine.groovy.inline.update:on
开启groovy脚本支持,inline表示脚本的来源为内嵌式,还可以设为stored或者fileupdate表示允许脚本语言执行更新操作,也可以设置其他操作,比如searcheggs等。
script-inline:true
简写方式,开始所有脚本语言行内执行所有支持的操作