2 elasticsearch安装及名词解析、架构

上一篇 《1 初识elasticsearch 介绍篇》简单的扯了下 elasticsearch 是什么东东、能干啥、应用场景及特点。

本章讲下 elasticsearch 结合 kibana 在windows 安装和使用(注:练习和讲解使用,因为已经能满足elasticsearch 讲解和练习使用,没必要折腾,节省时间,当然后面博主会单独讲解linux 下安装使用及调优

进入正题

elasticsearch 、kibana 安装

下载elasticsearch、kibana 安装包,解压,先运行elasticsearch 下bin 的 elasticsearch.bat,再运行kibana
下bin 的 kibana.bat,即可完成安装

在浏览器中输入http://localhost:5601/app/kibana,点击Dev Tools 就可以进入elasticsearch 可视化 操作界面(命令控制台) 了,如下图

2 elasticsearch安装及名词解析、架构_第1张图片
elasticsearch 控制台

elasticsearch 基础分布式架构

2 elasticsearch安装及名词解析、架构_第2张图片
elasticsearch 基础分布式架构
  • elasticsearch 对复杂分布式机制有很好的透明隐藏特性,比如:

    • 分片机制
    • cluster discovery 集群发现机制
    • shard rebalance 分片自动负载均衡
    • shard 副本、路由机制、集群扩容、shard 重分配
  • elasticsearch 扩容策略

    6台服务器,每台1T,要求增长到8T,这时的扩容方案

    • 垂直扩容
      另外购置两台node(2T),然后替换掉 node3 和 node6 ,8T = 4 * 1T + 2 * 2T
  • 水平扩容
    另外购置两台node(1T),然后加入现有集群中,8T = 8 * 1T

两种方案比较,垂直扩容成本太大,水平扩容为优。

  • master 节点

    • 管理elasticsearch集群的元数据,如 索引的创建、删除,节点的增加、删除 等元数据的维护
    • master 节点是由集群选举产生的,master 节点不会承载所有的请求,所有不会导致单点瓶颈
  • 节点平等的分布式架构

    • 节点对等,每个节点都能接收所有的请求
    • 相同的算法,自动请求路由
    • 响应收集

节点平等也就验证了master 不会导致单点瓶颈的问题

elasticsearch 核心概念

  • Near Realtime (NRT) 近实时
    • 写入数据 到 搜索 的小延迟 s 级(秒级)
    • 基于es 执行搜索、分析可以达到秒级
  • Cluster 集群
    包含多个node,每个node 通过配置归属那个集群(默认 elasticsearch)
  • Node 节点,默认会自动加入默认elasticsearch 名称的集群中,每个node 都有名称(默认随机分配)
  • Index 索引
    包含一堆有相似结构的文档数据(类似结构化数据库的库database)
  • Type 类型
    每个索引中可以有一个或者多个type,type 是index 的逻辑数据分类(类似结构化数据库的表 table)
  • Document 文档,elasticsearch 中的最小数据单元(类似结构化数据库表中记录 row),Json 数据结构表示,存储到index 的type 下
  • shard 分片,每个node 有一个多个shard,shard 可以横向扩展,它自动均衡到某个node上,可以将搜索、分析等操作分布到多个node 上去执行,提高吞吐量及性能,每个shard 都是一个lucene index,shard 有两种类型:
    • primary shard 主分片
      单台机器无法存储大量的数据,elasticsearch 可以将一个索引中的数据切分为多个shard,分布在N台服务器上
      比如 3个node 中3 个 shard 、3个replica ,有index 3T 数据,这时每个node 上最多1T数据,所有的操作,都会在每个node 中并行分布式的执行,提高吞吐量和性能。
    • replica shard 分片副本
      任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。primary shard(建立索引时一次设置,不能修改,默认5个),replica shard(随时修改数量,默认1个),默认每个索引10个shard,5个primary shard,5个replica shard,最小的高可用配置,是2台服务器。

primary shard 和 replica shard 自然而言的就可以做到了高可用,一个shard 宕机,数据不会丢失,可以持续提供服务

注:primary shard 和 replica shard 不允许在同一个 node 中,它会自动分配到不同的 node 上

以上就是本章内容,如有不对的地方,请多多指教,谢谢!

为了方便有需要的人,本系列全部软件都在 https://pan.baidu.com/s/1qYsJZfY

下章预告:主要讲解 elasticsearch shard&replica及容错机制

作者:逐暗者 (转载请注明出处)

你可能感兴趣的:(2 elasticsearch安装及名词解析、架构)