elk之es核心概念

1.NRT:

进实时,把数据写入到es,到通过es搜索这条数据中间有一个延迟(大概一秒钟);或者是es做分析和搜索时可以达到秒级。


2.share(分片):

    要了解分片就得知道集群和节点的概念:

    集群:

        概念:同一个业务部署在多个服务器上。

        es中包含多个节点,每个节点属于哪个集群也是通过配置(集群名称,默认elasticsearch)来决定的,通常项目刚开始都是 一个节点,一个集群,数据量增大后会来调整集群或节点。

    节点:

        集群中的节点,节点也有名称,默认随机分配,节点名称很重要,默认的随机节点会加入一个名为“elasticsearch”的集群中,如果直接启动一堆节点,会默认组成一个elasticsearch集群,一个节点也可以组成一个elasticsearch集群。

分片图实例:


比如说一个节点最多存放1t的数据,而我们的数据量有3t,我们就可以将index(索引)拆分为多个shard,每个shard存放1t的数据,这些shard被分散到elasticsearch集群中的多台服务器上。

好处:横向扩展,比如增加数据,我们可以从新建立shard的索引,将数据导入进去;

            数据分布在集群中的各个服务器上,当我们操作是,这几个服务器会进行分布式的执行,提升吞吐量和性能。

在建立索引的时候一次设置,不能修改,默认为5个。

3.replica(副本):

    结合面的shard(分片)概念,其实replica就是一个shard的副本,也就是备份,本质上就是shard,上图所示:

    如果我们拆分的shard中有一个所在的服务器宕机了,我们可能会丢失这服务器上的shard index的所有数据,就会导致搜索不到,但是我们可以为这些shard创建一个replica(其实就是和shard里数据一样,可以理解为另一个shard),当遇到上述情况,我们就会从这个replica中获取数据。

    还有一个好处就是,创建的副本可以和shard进行同时检索数据,使吞吐量翻倍。

    在建立索引的时候一次设置,随时都可以修改,默认为1个。


在我们搭建项目的时候,最基本其实都要两个服务器,每个服务器上都会放一些shard和他对应的replica。

    


猜你喜欢

转载自blog.csdn.net/a1148233614/article/details/80058806