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