栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【无标题】

【无标题】

前言

本人接触到es一年多了,过程走了很多弯路,希望这篇文章对你们有所帮助。(一下子写不完,本人有时间会持续更新)

一、安装

        去官网下载es和kibina

        es和kibina下载网址:Download Elasticsearch | Elastic

        分词器安装地址:https://github.com/medcl/elasticsearch-analysis-ik

        注意:es和kibina的下载版本必须要一直 分词器和es也有版本对应关系,为了节约时间,这里就不详细介绍了。(本人用的es版本是6.7.1)

二、核心概念

1.Near Realtime(NRT)

近实性,这里有两个意思,从写入数据到数据可以被搜索有有一个小延迟(大概1秒);基于es执行搜索和分析可以达到秒级。

2.Cluster:集群

Cluster和node是一对多的关系,一个node必然属于一个集群中

3.node:节点

节点有一个名称(默认是随机分配的),默认节点属于一个elasticsearch集群

4.shard:分片

一个index的数据分布在多个分片中(也就是说一个index的数据可能存在多台服务器中),有了shard之后可以使索引库可以进行横向的扩展。每个shard是最小的工作单元,增减node时候,shard会自动在node中做负载均衡。

5.replica:副本

副本是针对于主分片而言,每个主分片都会有若干个副本,这样主分片所在的node宕机后,副本就会被选举为主分片对外继续提供服务。同一个主分片的副本不可能存在同一台服务器中。

6.index,type,mapping,document,filed

index相当于mysql中的数据库,type相当于mysql中的表,mapping相当于mysql中的字段的映射,document相当于mysql中的行,filed相当于myql中的列

es提供了丰富的数据类型

以下为比较常见的数据类型

        注意:es7以上版本取消课type的概念,也就是说一个索引库默认只能存放一种类型的数据了。

  •  string:字符串类型,分为两种
    • text:可分词;
    • keyword:不可分词器
  • Numerical:数值类型,分为两类
    • 基本数据类型:byte,short,integer,long,float,double,haft_float
    • 浮点数的高精度类型:scaled_float
      • 需要指定一个精度因子,比如10或者100,elasticsearch会把真实值乘以这个因子后存储,取出后再还原
  • Date:日期类型
  • Object:对象,
  • nested:数组类型,可以参与搜索,而且还可以对数组里面的元素做聚合查询                         
三、elastic横向扩容极限以及怎么突破极限。

所谓的横向就是elastic可以设置分片的数量,下面以5个分片(primary shard)每个分片1个副本(replica shard)为列(5个primary shard,5个replica shard)

1.每个node拥有的分片数越少,IO/CPU/Memory资源分给每个shard越多,每个shard的性能越好。

2.这里扩容的极限为:集群为10台服务器,每个分片独占一个node,每个分片的性能最佳

3.要想突破极限那就增加集群的数量以及修改每个分片的副本数量

4.5个分片和5个副本最少的集群服务器台数为一台,最多可允许一个服务器宕机,

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/696048.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号