Elasticsearch配置文件能够发现elasticsearch/config文件夹下。在这个文件夹中有两个文件,一个是Elasticsearch配置不一样的模块的配置文件elasticsearch.yml ,另外一个是Elasticsearch日志的配置文件logging.yml。默认配置文件的格式为YML。
java
Elasticsearch提供了多种方式进行设置,在系统内部,都使用命名空间来表示这些设置,根据这些命名空间,系统能够很容易的扩展到其余格式。好比咱们设置节点名称:node
一、yml 格式为:node.name: node-1json
二、JSON格式为:只须要把elasticsearch.yml名修改为elasticsearch.json
bootstrap
配置的方式为:app
{ "node" : { "name" : "node-1" } }
三、经过Elasticsearch命令的参数来设置配置信息。例如:elasticsearch
elasticsearch -Des.node.name=node-1ui
四、elasticsearch还能够经过交互式方式进行设置,经过${prompt.text}或者${prompt.secret} 来指定,${prompt.secret} 表示在终端中隐藏输入的值,${prompt.text}表示在终端中显示输入的值,例如:spa
node.name: ${prompt.text}日志
在Elasticsearch命令执行时,将提示您输入的实际值,例以下面的提示:code
Enter value for [node.name]:
注意:当Elasticsearch做为服务或者在后台启动的时候,这两个参数则不起做用。
集群名称:
cluster.name: my-application
确保在不一样的环境中群集的名称不重复,不然,节点可能会链接到错误的群集上。
节点名称:
node.name: node-1
默认状况下,当节点启动时Elasticsearch将随机在一份3000个名字的列表中随机指定一个。若是机器上只运行一个集群Elasticsearch节点,能够用$ {HOSTNAME}设置节点的名称为主机名。
节点描述:
node.rack: r1
索引存储位置:
path.data: /path/to/data
日志存储位置:
path.logs: /path/to/logs
内存分配模式,参见上篇文章:
bootstrap.mlockall: true
绑定的网卡IP:
network.host: 192.168.0.1
http协议端口:
http.port: 9200
开始发现新节点的IP地址:
discovery.zen.ping.unicast.hosts: ["host1", "host2"]
最多发现节点的个数:
discovery.zen.minimum_master_nodes: 3
当重启集群节点后最少启动N个节点后开始作恢复:
gateway.recover_after_nodes: 3
在一台机器上最多启动的节点数:
node.max_local_storage_nodes: 1
当删除一个索引的时候,须要指定具体索引的名称:
action.destructive_requires_name: true
本文由赛克蓝德(secisland)原创,转载请标明做者和出处。
在集群中建立的索引能够提供每一个索引本身的设置。例如,下面建立一个索引是基于内存的存储而不是基于一个默认的文件系统(格式能够是YAML或JSON):
请求:PUT http://localhost:9200/kimchy
参数: index:refresh_interval: 5s
这个索引参数的设置能够设置在节点上,例如,在elasticsearch.yml文件中能够设置:
index.refresh_interval: 5s
这意味着在该节点建立的全部索引则是存储在内存中的。除非在建索引的时候显示的指定存储位置。
固然也能够在启动elasticsearch的时候用参数指定:
elasticsearch -Des.index.refresh_interval=5s
Elasticsearch内部使用log4j记录系统日志,它试图经过使用YAML配置方式来简化log4j的配置,配置文件位置为elasticsearch/config/ logging.yml。JSON格式和键值对的格式也是支持的。能够加载多个配置文件,在启动Elasticsearch后系统自动合并多个配置文件。支持不一样的后缀格式,例如: (.yml, .yaml, .json or .properties)。
记录器部分包含java包和相应的日志级别,在配置里能够省略org.elasticsearch前缀。appender部分包含日志描述信息。更多内容请参见log4j。
因为日志比较重要,正常状况下不要禁止日志的产生,若是感受日志过多,能够提升日志的级别。系统日志会每日生成一个新的文件。当遇到问题的时候,首先要检查一下日志文件,看看是否有出错的信息。
赛克蓝德(secisland)后续会逐步对Elasticsearch的最新版本的各项功能进行分析,近请期待。