elasticsearch配置要求,ElasticSearch教程
00-1010前言2弹性研究。YML 2.1集群2.2节点2.3路径2.4网络2.5发现2.6内存2.7网关2.8多样性3 jvm.options 4 log4j2.properties
00-1010在elasticsearchconfig目录中,有三个核心配置文件:
Elasticsearch.yml,es相关配置。Jvm.options,Java jvm相关参数的配置。Log4j2.properties,日志相关的配置,因为es采用了Log4j的日志框架。这里以elasticsearch6.5.4版本6.5.4为例,由于版本不同,配置也不尽相同,仅供参考!
目录
00-1010配置集群名称。由多个es实例组成的集群有一个公共名称。cluster . name : my-应用程序集群端口设置。Transport.tcp.port: 9300防止同一碎片的主副本存储在同一物理机上。cluster . routing . allocation . same _ shard . host 3360 true初始化数据恢复时,并发恢复线程数默认为4。cluster . routing . allocation . node _ initial _ primitives _ recoveries : 4添加删除节点或负载平衡时并发恢复线程的数量。默认值为四。cluster . routing . allocation . node _ concurrent _ recoveries : 4
00-1010节点名配置,一个es实例实际上是一个es进程,在集群中称为一个节点。如果在服务器上配置了群集,则每个节点的名称不能重复。Node.name: node-1为节点添加自定义属性node.attr.rack: r1无论该节点是否有资格成为主节点,默认值为true。设置节点是否存储数据。Node.data: true设置主切片的默认数量,默认情况下为5个切片。应当注意,一旦分配了主片,就不能改变。Index.number _ of _ shards3360 5设置复制切片的默认数量。默认情况下,一个主切片对应一个复制切片。请注意,复制切片可以手动调整。Index.number _ of _ Replicas 3360 1设置数据恢复时要限制的带宽,默认值为0,无限制。indexes . recovery . max _ size _ per _ ser 3360 0设置此参数以限制从其他切片恢复数据时同时打开的最大并发数据流数。默认值为5。indexes . recovery . concurrent _ streams : 5设置数据恢复时要限制的带宽,默认值为0,无限制。indexes . recovery . max _ size _ per _ ser 3360 0设置此参数以限制从其他切片恢复数据时同时打开的最大并发数据流数。默认值为5。indexes . recovery . concurrent _ streams 3360 5
00-1010存储数据路径设置,多条路径用英文逗号分隔,conf目录在默认根目录。path . data :/path/to/data # path . data 3360/path/to/data1,/path/to/data1设置临时文件存储路径,默认为es目录下的工作目录。Path.work: /path/to/work日志文件路径,默认为根目录下的logs目录。Path.logs: /path/to/logs设置日志文件的存储路径,默认为es。
录下的logs目录。
path.logs: /path/to/logs
设置插件的存放路径,默认是es目录下的plugins目录。
path.plugins: /path/to/plugins
2.4 Network
为es实例绑定特定的IP地址。
network.host: 192.168.0.1
上面的设置可以拆分为两个参数。
network.bind_host: 192.168.0.1 # 设置绑定的ip地址,ipv4或ipv6都可以network.publish_host: 192.168.0.1 # 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址
为es实例设置特定的端口,默认为9200端口。
http.port: 9200
2.5 Discovery
设置是否打开多播发现节点,默认是true。
discovery.zen.ping.multicast.enabled: true
配置es单播发现列表,在es启动时,通过这个列表发现别的es实例,从而加入集群。
discovery.zen.ping.unicast.hosts: ["host1", "host2"]discovery.zen.ping.unicast.hosts: ["10.0.0.1", "10.0.0.3:9300", "10.0.0.6[9300-9400]"]
discovery.zen.minimum_master_nodes
设置是告诉集群有多少个节点有资格成为主节点,一般的规则是集群节点数除以2(向下取整)再加一。比如3个节点集群要设置为2,这个试着是为了防止脑裂问题。设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。
discovery.zen.ping.timeout: 3s
2.6 Memory
启动时锁定内存,默认为true,因为当jvm开始swapping时es的效率 会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。 同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过ulimit -l unlimited命令
bootstrap.memory_lock: true
禁止swapping交换。
bootstrap.mlockall: true
2.7 Gateway
设置是否压缩tcp传输时的数据。默认是false不压缩。
transport.tcp.compress: true
设置内容的最大容量,默认是100mb。
http.max_content_length: 100mb
是否使用http协议对外提供服务。默认为true。
http.enabled: false
设置gateway的类型,默认为本地文件系统,也可以设置分布式文件系统、Hadoop的HDFS或者AWS的都可以。
gateway.type: local
在完
全重新启动集群之后阻塞初始恢复,直到启动N个节点为止,详情参见Recovery
gateway.recover_after_nodes: 3
设置初始化数据恢复进程的超时时间。默认是5分钟。
gateway.recover_after_time: 5m
设置该集群中节点的数量,默认为2个,一旦这N个节点启动,就会立即进行数据恢复。
gateway.expected_nodes: 2
2.8 Various
删除索引时需要显式名称。
action.destructive_requires_name: true
三 jvm.options
设置jvm堆的大小,最大值和最小值,应该是一致的,并且应该根据你的物理内存决定。
-Xms1g # 设置最小堆为1g-Xmx1g# 设置最大堆为1g
四 log4j2.properties
这个配置文件,我们一般不修改其配置。
以上就是Elasticsearch配置文件示例示范的详细内容,更多关于Elasticsearch配置文件的资料请关注盛行IT其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。