最近在搭建es5.2的高可用集群,在这个过程中加深了对es的原理理解,基本分为四个阶段
es单机—>es集群(多台机器)—>es分片和副本集分布原理—>es高可用集群
1.es单机
在第一个阶段基本概念的掌握还是比较熟练的,对应着关系型数据库(mysql)来理解es:
文档(document)
文档(document)是ElasticSearch中的存储形式。对所有使用ElasticSearch的案例来说,他们最终都可以归结为对文档的搜索,一个文档相当于mysql里的一条数据
索引(index)
ElasticSearch将它的数据存储在一个或多个索引(index)中。索引就像数据库,可以向索引写入文档或者从索引中读取文档
类型(type)
每个文档都有与之对应的类型(type)定义。这允许用户在一个索引中存储多种文档类型,比如在“资料”索引下,有pdf类型和word类型,并为不同文档提供类型提供不同的映射
映射(mapping)
所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条、哪些词条又会被过滤,这种行为叫做映射(mapping)。一般由用户自己定义规则,可以理解为pdf类型的文档的映射就是pdf含有的字段
2.es集群
es集群是通过多台服务器来搭建,它们拥有一个共同的clustername比如叫做“escluster”,每台服务器叫做一个节点,拥有自己的节点名字:nodename,配置文件如下:
集群名称,用于定义哪些elasticsearch节点属同一个集群。
cluster.name: bigdata