Elasticsearch配置文件详解

时间:2022-08-03 19:35:37

  a. 在上面博客中,我们已经安装并且成功配置了Elasticsearch以及部分插件,接下来我们就需要看看Elasticseach的配置文件的信息以及文档的一些说明。

  b.首先找到Elasticsearch的安装位置,跳转到elasticsearch的config文件夹下,在此文件夹下含有两个配置文件:elasticsearch.yml和logging.yml,第一个是Elasticsearch的基本配置文件,第二个是日志配置文件,Elasticsearch是使用log4j来记录日志的,所以logging.yml里的设置按普通的log4j配置文件夹来设置即可。下面我们主要来说一下elasticsearch.yml文件中的配置信息。

  c.文档说明采用写备注的方法来说明elasticsearch.yml文件,Elasticsearch的版本是:2.3.1。

    c.1  cluster.name: kencery   配置Elasticsearch的集群名称,默认是elasticsearch,Elasticsearch会自动发现在同一网段下的es集群,如果在同一个网段下有多个集群,可以利用这个属性来区分不同的集群。

    c.2  node.name : "kencery-node1"    集群的节点名称,Elasticsearch启动的时候会自动创建节点名称,但是你也可以进行配置。

    c.3  node.rack: r1    每个节点都可以定义一些与之关联的通用属性,用于后期集群进行碎片分配时的过滤。

    c.4  path.data: /path/to/data    设置索引数据的存储路径,默认是Elasticsearch根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,是的数据在文件级别跨域位置,这样在创建时就有更多的*路径,如:path.data: /path/to/data1,/path/to/data2

    c.5  path.logs: /path/to/logs    设置日志文件的存储路径,默认是Elasticsearch根目录下的logs文件夹。

    c.6  bootstrap.mlockall: true    设置为true来锁住内存,因为当JVM开始swapping的时候Elasticsearch的效率会降低,所以要保证他不被swap,可以吧ES_MIN_MEN和ES_MAX_MEN两个环境变量设置为同一个值,并且保证机器有足够的内存分配给Elasticsearch,同时也要允许Elasticsearch的进程可以锁住内存,linux下可以通过`ulimit -l unlimited`命令。

    c.7  network.host: 192.168.37.133    设置绑定的IP地址,可以是ipv4或者ipv5,默认使用0.0.0.0地址,并为http传输开启9200、9300端口,为节点到节点的通信开启9300-9400端口,也可以自行设置IP地址。

    c.8  http.port: 9200    设置对外服务的Http端口,默认是9200

    c.9  discovery.zen.ping.unicast.hosts: ["192.168.37.133", "192.168.37.137"]     设置集群中master节点的初始化列表,可以通过这些节点来自动发现新加入集群的节点(主要用于不同网段机器连接)。

    c.10  discovery.zen.minimum_master_nodes: 3    设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点,默认为1,当集群多余三个节点时,可以设置大一点的值(2-4)

    c.11  gateway.recover_after_nodes: 3    设置集群中国N个节点启动时进行数据恢复,默认是1

    c.12  node.max_local_storage_nodes: 1 默认情况下,多个节点可以在同一个安装路径启动,如果你想让你的Elasticsearch只启动一个节点,在这合理设置。

    c.13  action.destructive_requires_name: true    设置是否可以通过正则或者_all删除或者关闭索引。

  d. 上面所有的节点信息都是在配置文件中存在的,有些节点信息配置文件没有显示(不推荐修改),

  e. 上面只是简单描述了一些Elasticsearch配置文件中的信息,详细配置请看你安装的Elasticsearch里面的配置文件的信息.

  f. 关于Elasticsearch的基础概念,请参考:http://blog.csdn.net/cnweike/article/details/33736429