集群名称配置:集群不同节点配置相同的集群名称
cluster.name: yyc-cluster
集群节点配置:集群不同节点配置不同的节点名称
# 节点名称
node.name: yyc-cluster-node1
# 是否有资格被选举为主节点,默认为true;ES默认第一台机器为master,master挂了重新选举master
node.master: true
# 是否存储索引数据,默认true
node.data: true
路径配置:数据路劲、日志路径、插件路径。路径与Elasticsearch安装路径错开,否则重装Elasticsearch时会把之前的数据全部删除,因为Elasticsearch会把这些数据的保存路径放在安装路劲下。
# 数据路径-可用逗号分隔配置多个
path.data: path1,path2,...
# 日志路径
path.logs: path
# 插件路径
path.plugins: path
# 配置文件(elasticsearch.yml)的存储路径,默认es根目录下的config文件夹
path.conf: path
# 临时文件的存储路径,es根目录下的work文件夹
path.work: path
集群IP配置
# 节点当前机器的IP
network.host: localhost
# 最好使用单播代替组播,选取master候选节点作为单播列表
# master节点的初始列表,Elasticsearch可根据这些节点主动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ['host1','host2',...]
链接配置:Http链接和TCP链接
# TCP端口,用于各种客户端链接,默认9300
transport.tcp.port: 9300
# 是否压缩TCP传输时的数据,默认false
transport.tcp.compress: true
# 对外服务的Http接口,默认9200
http.port: 9200
# Http接口内容的最大容量,默认100mb
http.max_content_length: 100mb
# 是否对外提供Http接口,默认true
http.enabled: true
集群master选举相关配置
# master节点选举的条件:当master候选节点>=这个数才进行master节点的选举,默认是1
discovery.zen.minimum_master_nodes: ( master 候选节点个数 / 2) + 1
# 集群自动发现其他节点ping的超时时间,默认3s
discovery.zen.ping.timeout: 3s
# 是否打开多播发现节点
discovery.zen.ping.multicast.enabled: false
集群恢复相关配置:后三个配置在集群重启的时候避免过多的分片交换,假设集群有10个节点,重启的时候有5个正常,5个不正常,正常的5个会重新选举一个master然后被组成一个集群,启动分片复制,恢复数据;另外5个节点正常后加入集群,整个集群重新平衡分片数据,这样来回的数据移动导致的磁盘消耗和网络带宽消耗在数据量庞大的时候需要很长时间,如果配置成在所有节点都准备好了再开始进行数据恢复,集群上线,可以避免不必要的IO和网络消耗
# gateway的类型,默认是本地文件系统,
# 可以设置为本地文件系统,分布式文件系统,hadoop的HDFS,和amazon的s3服务器
gateway.type: local
# Elasticsearch至少存在n正常节点才进行数据恢复,即至少n个节点,该集群才能正常使用,默认1
# 这个值的设定取决于个人喜好:整个集群提供服务之前你希望有多少个节点在线
gateway.recover_after_nodes: 1
# 等待n分钟或者n个节点都正常上线才进行数据恢复,取决于那个条件先被触发,分别默认是2/5
gateway.expected_nodes: 2
gateway.recover_after_time: 5m