一份Elasticsearch 5.6.4配置与详解(实际已经验证)

# 参考资料
# https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-http.html
# https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-gateway.html
# https://blog.csdn.net/u012450329/article/details/52881045
# https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-discovery-zen.html
# https://www.cnblogs.com/ljhdo/p/4959412.html


cluster:
  name: hb-cdn-es
  routing:
      allocation:
        node_concurrent_recoveries: 50
# node_concurrent_recoveries
# 一个节点上同时进行多少个传入/传出(传入最有可能是副本,传出最有可能是主分片)分片恢复。 
# 默认为2。
# 修改到50(ssd机器),可以提高集群恢复速度






discovery:
  zen:
    minimum_master_nodes: 2
    ping_timeout: 30s
    fd:
      ping_interval: 3s
      ping_retries: 6
      ping_timeout: 30s


    ping:
      unicast:
        hosts: ["10.237.48.153:9300","10.237.45.213:9300","10.237.44.214:9300"]
# minimum_master_nodes
# 默认为1
# 如果低于此值,集群不进行master选举,集群无master
# 官方推荐:(number of master-eligible nodes / 2) + 1
# 防止脑裂,按照官方文档进行设置,如果不考虑此问题,为防止数据丢失,可以将此值调小设置为1。
# 此值,在集群启动后,可以通过PUT /_cluster进行修改
#
# zen.ping_timeout
# 默认3s
# 参加选举或者加入集群前,这个节点需要等待多久


network:
  host: 0.0.0.0
# host
# 节点绑定到此主机名或ip
# 默认值为_local_
# 修改为0.0.0.0


node:
  data: true
  master: false
  ingest: false
  name: ${HOSTNAME}-0
  max_local_storage_nodes: 1
search.remote.connect: false


# 节点角色划分:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-node.html
# https://blog.csdn.net/laoyang360/article/details/78290484
# 角色划分分为2种场景:1)未安装x-pack插件;2)安装x-pack插件
# 每个节点都是Coordinating节点,主要做路由。ingest节点主要是做一些文档预处理,主要看读写请求类型。
# 1)未安装x-pack插件时,角色划分:Master-eligible,Data,Ingest,Tribe,Coordinating nodes
# 主节点:Master-eligible nodes
# node.master:true 
# node.data:false 
# node.ingest:false 

# 数据节点:Data nodes
# node.master:false 
# node.data:true 
# node.ingest:false 

# 预处理节点:Ingest nodes
# node.master:false 
# node.data:false 
# node.ingest:true 
# search.remote.connect:false 

# 协调节点:Coordinating nodes
# node.master:false 
# node.data:false 
# node.ingest:false 
# search.remote.connect:false 

# 部落节点:tribe nodes:
# 配置tribe.* 暂不使用

# 2)安装x-pack插件时,角色划分:Master-eligible,Data, Ingest, Machine learning nodes 
# 主节点:Master-eligible nodes
# node.master: true 
# node.data: false 
# node.ingest: false 
# node.ml: false 
# xpack.ml.enabled: true 

# 数据节点:Data nodes
# node.master: false 
# node.data: true 
# node.ingest: false 
# node.ml: false 

# 预处理节点:Ingest nodes
# node.master: false 
# node.data: false 
# node.ingest: true 
# search.remote.connect: false 
# node.ml: false  

# 协调节点:Coordinating nodes
# node.master: false 
# node.data: false 
# node.ingest: false 
# search.remote.connect: false 
# node.ml: false 

# 机器学习节点:Machine learning nodes 
# node.master: false 
# node.data: false 
# node.ingest: false 
# search.remote.connect: false 
# node.ml: true 
# xpack.ml.enabled: true 
 
# max_local_storage_nodes
# 默认值:未知
# 数据路径可以被多少节点复用,主要作用是在开发环境进行数据故障转移
# 生成环境设置为1




path:
  data: /data2/elasticsearch,/data3/elasticsearch
  logs: /export/Logs/hb-cdn-es/elasticsearch


http:
  port: 9200


transport:
  host: 0.0.0.0
  tcp:
    port: 9300


gateway:
  expected_data_nodes: 21
  recover_after_data_nodes: 17
  expected_master_nodes: 3
  recover_after_master_nodes: 2
  recover_after_time: 5m
#
# 说明:
# 1)这些参数只有在整个集群重启之后才生效
# 2)expected_data_nodes与expected_master_nodes只要满足之一就触发
# 3)recover_after_master_nodes与recover_after_data_nodes只要满足之一就触发
# expected_data_nodes
# 默认为0
# 在recover_after_time时间内,data nodes达到此预期值时,进行分片恢复
#
# expected_master_nodes 
# 默认为0
# 在recover_after_time时间内,master nodes达到此预期值时,进行分片恢复
#
# recover_after_time
# 默认5min
# recover_after_time内expected策略生效,5min后revover策略生效
#
# recover_after_data_nodes
# 无默认
# 超过recover_after_time之后,data nodes达到此值时,进行分片恢复
#     
# recover_after_master_nodes   
# 无默认
# 超过recover_after_time之后,master nodes达到此值时,进行分片恢复
#
  
http:
  max_content_length: 20mb
  cors.enabled: true
  cors.allow-origin: "/.*/"
#
# cors.enabled
# 设置为true,跨域访问




bootstrap
  memory_lock: true
  system_call_filter: false
# memory_lock
# 当发生系统swapping时,ES节点的性能会非常差
# 默认为 true
# 当发生系统swapping时,ES节点的性能会非常差,设置成true,可以避免交换(swapping)来提高性能
#
# system_call_filter
# 系统支持seccomp时可以设置为true;不支持seccomp时,需要设置为false,禁用此项
# 默认为 true
# 设置为 false,因为系统不支持seccomp


indices
  recovery
    max_bytes_per_sec: 500mb
  memory
    index_buffer_size: 20%
  breaker
    fielddata
  limit: 40%
    request
  limit: 20%
    total
  limit: 50%
  fielddata
    cache
  size: 30%
# indices.recovery.max_bytes_per_sec
# 数据恢复时,限制每秒的吞吐量
# 默认为40mb
# 修改为500mb,增加了系统的IO资源消耗(在此机器上,此设置值系统可以承受),提升了recovery速度,减少数据写入被阻塞的时长

# indices.memory.index_buffer_size
# 索引缓冲区大小
# 默认为 10%
# 修改为 20%,提高了系统总堆中用作索引缓冲区的大小(使用在此机器上,此设置值系统可以承受),提高了新数据的写入速率

# indices.breaker.fielddata.limit
# 限制聚合字段内存的使用大小
# 默认为 60%
# 设置为 40%,可以降低内存压力,默认设置值可能会导致潜在的OOM异常

# indices.breaker.request.limit
# 请求断路器配置项
# 默认为 60%
# 修改为 20%,控制请求(例如:查询)字段需要的堆空间大小.默认设置值可能会导致潜在的OOM异常

# indices.breaker.total.limit
# 此配置项封装了request和fielddata断路器,用于确保request和fielddata总的使用的内存不超过设置值
# 默认为 70%
# 修改为 50%,此设置值应小于indices.breaker.fielddata.limit和indices.breaker.request.limit设置值之和
#
# indices.fielddata.cache.size
# 控制多少堆内存被分配给fielddata.
# 默认为 unbounded
# 修改为 30%,由于ES不会自动清理内存中旧的fielddata,当filddata达到内存的30%,将以防止出现OutOfMemory异常


xpack
  security
    enabled: false
action:
    destructive_requires_name: true
    search.shard_count.limit: 1000
#
# xpack.security.enabled
# 是否禁用x-pack的安全性
# 默认为 true
# 修改为false,禁用x-pack安全性
#
# destructive_requires_name
# 是否需要索引名来进行索引的删除操作
# 默认为false
# 修改为true,可以禁用_all作为索引名来删除索引
#
# search.shard_count.limit
# ES将拒绝查询分片数超过此设置值的搜索请求
# 默认值为 1000
#
发布了241 篇原创文章 · 获赞 8 · 访问量 12万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览