一、path.data和path.logs
- 配置用途:设置数据存储的位置和日志存储的位置,虽然es会有默认的配置,但是一旦es版本更新,这个位置可能就会被更改,有可能会造成数据丢失
- 配置位置:config/elsticsearch.yml
- 配置写法:
path:
logs: /var/log/elasticsearch
data: /var/data/elasticsearch
- 注意事项:请确保运行的用户对指定的data和logs目录有权限
二、cluster.name
- 配置用途:es集群的名字,同一个es集群下的节点需要有同样的es簇名
- 配置位置:config/elsticsearch.yml
- 配置写法:
cluster.name: logging-prod
- 注意事项:es集群名建议设置为能体现这个集群的目的的名字
三、node.name
- 配置用途:当前节点的名字
- 配置位置: config/elsticsearch.yml
- 配置写法:
node.name: prod-data-2
四、network.host
- 配置用途:节点会绑定到这个host,并将其发布给同一个es集群中的其他节点,即其他节点可以通过这个host找到当前节点
- 配置位置:config/elsticsearch.yml
- 配置写法:
network.host: 192.168.1.10
- 注意事项:
- 支持许多种格式
- 0.0.0.0(等同于0和global)即无限制,谁都连接这个节点
- 一旦配置了这个属性,则es默认将从开发模式转换为产品模式,许多警告级别的错误将会以异常的级别被抛出
五、discovery.seed_hosts
- 配置用途:需要启用节点发现的节点host列表
- 配置位置:config/elsticsearch.yml
- 配置写法:
discovery.seed_hosts:
- 192.168.1.10:9300
- 192.168.1.11
- seeds.mydomain.com
- 注意事项:
- 如果不设置端口号,将会使用transport.profiles.default.port 配置的端口号,如果这个配置也没有则使用transport.port配置的端口号
- 这些节点应该是有资格被选为主节点的节点
- 如果不配置任何network相关的配置,es会绑定到127.0.0.1并且会自动搜索节点(从9300搜索到9305),这也是为什么你在本地启动两个es节点,它们会自动组成es集群的原因了
六、cluster.initial_master_nodes
- 配置用途:在es集群最初启动时需要一些具有选举权(能够被选举为主节点的)的节点,它们会选举出第一届主节点
- 配置位置:config/elsticsearch.yml
- 配置写法:
cluster.initial_master_nodes:
- master-node-a
- master-node-b
- master-node-c
- 注意事项:
- 值就是节点名
- 产品模式下,必须要配置这个!!!不配就报错!
- 建议最低要含有3个具有资格的节点,但若是单节点集群,也可以只配置一个
- 这个配置只在集群第一次启动时才有用,启动后就没有用了
- 设置里的每一个节点里的cluster.initial_master_nodes都应该相同,否则会有数据丢失的风险
七、堆大小设置
- 配置用途:设置JVM的堆的大小
- 配置位置:config/jvm.options
- 配置写法:
- 空行会被忽略
- #开头的会被视为注释
- -开头的会被视为jvm配置,并应用到所有版本的jvm中
- number:-开头的应用到指定number版本的jvm中
- number-:-应用于大于或等于number版本的jvm中
- number1-number2:-应用于number1-number2版本之间的
//eg.
-Xms1g // 设置jvm堆的最小容量,并应用到所有版本的jvm中
-Xmx1g //设置jvm堆的最大容量,并应用到所有版本的jvm中
八、JVM堆dump设置
- 配置用途:设置JVM堆dump的目录或者文件
- 配置位置:config/jvm.options
- 配置写法:
(前缀)XX:HeapDumpPath=...
- 注意事项:如果是文件,该文件事先必须不存在,否则dump过程会失败
九、GC日志
- 配置用途:设置GC日志相关的各种信息
- 配置位置:config/jvm.options
- 配置写法:
(前缀)XX:HeapDumpPath=...
(前缀)XX:+PrintGCDetails
(前缀)XX:+PrintGCDateStamps
(前缀)XX:+PrintTenuringDistribution
(前缀)XX:+PrintGCApplicationStoppedTime
(前缀)Xloggc:logs/gc.log
(前缀)XX:+UseGCLogFileRotation
(前缀)XX:NumberOfGCLogFiles=32
(前缀)XX:GCLogFileSize=64m
十、JVM致命错误日志
- 配置用途:设置JVM致命错误日志存放地址
- 配置位置:config/jvm.options
- 配置写法:
(前缀)XX:ErrorFile=...
- 注意事项:默认是和普通日志存放在一起的,如果你想单独查看,可以设置这个属性
参考文档:
[1] path.data and path.logs
[2] cluster.name
[3] node.name
[4] network.host
[5] Important discovery and cluster formation settings
[6] bootstraping a cluster
[7] setting the heap size
[8] JVM heap dump path
[9] GC logging
[10] JVM fatal error logs
网友评论