Linux下ElasticSearch配置文件参数详解

ElasticSearch配置简介

         配置文件在/etc/elasticsearch目录下:jvm.options、elasticsearch.yml和log4j2.properties。其中 jvm.options为虚拟机配置,log4j2.properties为日志配置,都相对比较简单。下面重点介绍elasticsearch.yml 一些重要的配置项及其含义。

(1)cluster.name: elasticsearch

        配置elasticsearch的集群名称,默认是my-application。elasticsearch会自动发现在同一网段下的集群名为my-application的主机,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。生成环境时建议更改。

(2)node.name: “node-1”

      节点名,生成环境中建议更改以能方便的指定集群中的节点对应的机器。

(3)node.master: true

         指定该节点是否有资格被选举成为master,默认是true,elasticsearch默认集群中的第一台启动的机器为master,如果这台机挂了就会重新选举master。

(4)node.data: true

        指定该节点是否存储索引数据,默认为true。如果节点配置node.master:false并且node.data: false,则该节点将起到负载均衡的作用

(5)index.number_of_shards: 5

        设置默认索引分片个数,默认为5片。经本人测试,索引分片对ES的查询性能有很大的影响,在应用环境,应该选择适合的分片大小。

(6)index.number_of_replicas:

         设置默认索引副本个数,默认为1个副本。此处的1个副本是指index.number_of_shards的一个完全拷贝;默认5个分片1个拷贝;即总分片数为10。

(7)path.data:/path/to/data1,/path/to/data2

        设置索引数据的存储路径,默认是/var/lib/elasticsearch,可以设置多个存储路径,用逗号隔开。

(8)path.logs: /path/to/logs

        设置日志文件的存储路径,默认是/var/lib/elasticsearch

(9)bootstrap.memory_lock: true

          设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不使用swap分区,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过ulimit -l unlimited命令。

(10)network.host: 192.168.0.1

       这个参数是用来同时设置bind_host和publish_host上面两个参数。

(11)http.port: 9200

        设置对外服务的http端口,默认为9200。

(12)gateway.recover_after_nodes: 3

        设置集群中N个节点启动时进行数据恢复,默认为3。

(13)discovery.zen.minimum_master_nodes: 1

       设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)

(14)discovery.zen.ping.unicast.hosts: [“host1”, “host2:port”]

         设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点。

猜你喜欢

转载自blog.csdn.net/qq_42303254/article/details/89322511