ELK

作者: 陈超Terry的技术屋 | 来源:发表于2019-06-27 07:52 被阅读0次

    ELK是三个开源软件Elasticsearch、Logtash、Kibana

        Logtash:负责日记的收集、传输

        Elasticsearch:存储

        Kibana:提供UI界面,解决数据汇总、聚合问题

    ElasticSearch

        ES是以lucene为基础的分布式、面向文档型数据库。一条数据是一个文档,以Json格式存储。

        关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)

        Elasticsearch  ⇒ 索引(Index)  ⇒ 类型(type)  ⇒ 文档(Docments)  ⇒ 字段(Fields) 

        提供Restful接口、实时搜索、分析引擎。可以扩展到上百台服务器,可实现处理PB级别的结构和非机构化数据。ES提供中文分词组件IK。

         ES支持sql查询。

    ES集群

    节点

        候选主节点(Master-eligible node):一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接。集群中会从候选主节点中选举出一个主节点,主节点负责创建索引、删除索引、分配分片、追踪集群中的节点状态等工作。
        一个节点可以是数据节点,也可以是候选主节点。候选节点设置方法是设置node.mater为true,默认情况下,node.mater和node.data(数据节点)的值都为true

         主节点的负载较轻。

        数据节点(Data node):数据节点负责数据的存储相关操作,比如CRUD、搜索、聚合数据节点对机器配置要求比较高。

        客户端节点(Client node):负责请求的分发、汇总等。是协调节点的角色。这样的工作,其实任何一个节点都可以完成,单独增加这样的节点更多是为了负载均衡。

       协调节点(Coordinating node):协调节点,是一种角色,而不是真实的Elasticsearch的节点。任何节点都可以充当协调节点的角色。当一个节点A收到用户的查询请求后,会把查询子句分发到其它的节点,然后合并各个节点返回的查询结果,最后返回一个完整的数据集给用户。在这个过程中,节点A扮演的就是协调节点的角色,协调节点会对CPU、Memory要求比较高。

    分片(shard)

        小的分片会造成小的分段,从而会增加开销。对于基于时间的数据的使用场景来说,通常将分片大小控制在 20GB 到 40GB 之间

      节点上的分片数量与可用的堆内存成正比, 一个好的经验法则:确保每个节点的分片数量低于每GB堆内存配置20到25个分片。 所以,30GB堆内存的节点具有最多600-750个分片,但是低于该限制可以使其保持更好。 这通常有助于集群保持健康。

    相关文章

      网友评论

          本文标题:ELK

          本文链接:https://www.haomeiwen.com/subject/zrlccctx.html