ElasticSearch + Kibana安装及使用(1)

1.ElasticSearch是什么?

elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。

2.Kibana是什么?

是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。

其他版本下载地址:https://www.elastic.co/cn/downloads/past-releases
最新版本下载地址:https://www.elastic.co/cn/elastic-stack/
注意ES版本 和 Kibana版本 一致

3.IK分词器

ElasticSearch 默认采用的分词器, 是单个字分词 ,效果很差 ,所以我们需要安装一个更实用的分词器,这里采用 IK分词器

jar包下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
源码下载地址:https://github.com/medcl/elasticsearch-analysis-ik/tree
(版本对应es)

4.ElasticSearch安装

在官网中下载自己需要的版本(笔者安装的是7.13.2版本)
ElasticSearch + Kibana安装及使用(1)_第1张图片
解压下来,在解压下来在bin文件中双击elasticsearch.bat
ElasticSearch + Kibana安装及使用(1)_第2张图片
启动成功后访问localhost:9200
ElasticSearch + Kibana安装及使用(1)_第3张图片

表示安装成功

5安装es可视化插件

Elasticsearch-head-master安装和启动:https://blog.csdn.net/rgh520219/article/details/105256799/

github网站:https://github.com/mobz/elasticsearch-head

解压安装即可 ,点击index.html`
ElasticSearch + Kibana安装及使用(1)_第4张图片

6.安装IK分词器

下载完成后解压即可
打开ES的安装目录,然后打开 plugins 目录,建立一个文件夹ik(名字自定义)

ElasticSearch + Kibana安装及使用(1)_第5张图片
ElasticSearch + Kibana安装及使用(1)_第6张图片
可以在config包下的config\IKAnalyzer.cfg.xml中设置自己的字典

创建文件a.dic
ElasticSearch + Kibana安装及使用(1)_第7张图片
ElasticSearch + Kibana安装及使用(1)_第8张图片
IKAnalyzer.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典 -->
	<entry key="ext_dict">a.dic</entry>
	 <!--用户可以在这里配置自己的扩展停止词字典-->
	<entry key="ext_stopwords"></entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">words_location</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

ElasticSearch + Kibana安装及使用(1)_第9张图片

7.Kibana安装

下载好之后解压:会有一个 kibana-版本号-系统-位的文件夹

内部文件目录:ElasticSearch + Kibana安装及使用(1)_第10张图片
kibana配置:https://www.elastic.co/guide/cn/kibana/current/settings.html

进行中文化配置
在**kibana-7.13.2-windows-x86_64\config**中配置 i18n.locale: "zh-CN"
ElasticSearch + Kibana安装及使用(1)_第11张图片
ElasticSearch + Kibana安装及使用(1)_第12张图片

点击bin文件夹下的kibana.bat运行
访问localhost:5601(需要开启kibana)
ElasticSearch + Kibana安装及使用(1)_第13张图片

安装成功

在接下来位置我们进行使用(当然我们也可以使用postman开发工具):
ElasticSearch + Kibana安装及使用(1)_第14张图片

向下滑动滚轮

ElasticSearch + Kibana安装及使用(1)_第15张图片
ElasticSearch + Kibana安装及使用(1)_第16张图片

8.ElasticSearch概念

8.1 es与mysql基本概念

es mysql
字段
文档 一行数据
类型(已废弃)
索引 数据库

下面解释概念:

8.1.1文档(Document):

  • 我们知道Java是面向对象的,而Elasticsearch是面向文档的,也就是说文档是所有可搜索数据的最小单元。ES的文档就像MySql中的一条记录,只是ES的文档会被序列化成json格式,保存在Elasticsearch中;
  • 这个json对象是由字段组成,字段就相当于Mysql的列,每个字段都有自己的类型(字符串、数值、布尔、二进制、日期范围类型);
  • 当我们创建文档时,如果不指定字段的类型,Elasticsearch会帮我们自动匹配类型;
  • 每个文档都有一个ID,类似MySql的主键,咱们可以自己指定,也可以让Elasticsearch自动生成;
  • 文档的json格式支持数组/嵌套,在一个索引(数据库)或类型(表)里面,你可以存储任意多的文档。

8.1.2 类型(Type):

类型就相当于MySql里的表,我们知道MySql里一个库下可以有很多表,最原始的时候ES也是这样,一个索引下可以有很多类型,但是从6.0版本开始,type已经被逐渐废弃,但是这时候一个索引仍然可以设置多个类型,一直到7.0版本开始,一个索引就只能创建一个类型了(_doc)。

8.1.3 索引(Index):

  • 索引就相当于MySql里的数据库,它是具有某种相似特性的文档集合。反过来说不同特性的文档一般都放在不同的索引里;
  • 索引的名称必须全部是小写;
  • 在单个集群中,可以定义任意多个索引;
  • 索引具有mapping和setting的概念,mapping用来定义文档字段的类型,setting用来定义不同数据的分布。

8.1.4 节点(node):

  • 一个节点就是一个ES实例,其实本质上就是一个java进程;

  • 节点的名称可以通过配置文件配置,或者在启动的时候使用-E node.name=ropledata指定,默认是随机分配的。建议咱们自己指定,因为节点名称对于管理目的很重要,咱们可以通过节点名称确定网络中的哪些服务器对应于ES集群中的哪些节点;

  • ES的节点类型主要分为如下几种:
    1. Master Eligible节点: 每个节点启动后,默认就是Master Eligible节点,可以通过设置node.master: false来禁止。
    Master Eligible可以参加选主流程,并成为Master节点(当第一个节点启动后,它会将自己选为Master节点);注意:每个节点都保存了集群的状态,只有Master节点才能修改集群的状态信息。
    2.Data节点: 可以保存数据的节点。主要负责保存分片数据,利于数据扩展。
    3.Coordinating 节点: 负责接收客户端请求,将请求发送到合适的节点,最终把结果汇集到一起。

  • 注意:每个节点默认都起到了Coordinating node的职责。一般在开发环境中一个节点可以承担多个角色,但是在生产环境中,还是设置单一的角色比较好,因为有助于提高性能。

8.1.5 分片(shard):

了解分布式或者学过mysql分库分表的应该对分片的概念比较熟悉,ES里面的索引可能存储大量数据,这些数据可能会超出单个节点的硬件限制。

为了解决这个问题,ES提供了将索引细分为多个碎片的功能,这就是分片。 这里咱们可以简单去理解,在创建索引时,只需要咱们定义所需的碎片数量就可以了,其实每个分片都可以看作是一个完全功能性和独立的索引,可以托管在集群中的任何节点上。

分片有什么好处和注意事项呢?

1.通过分片技术,咱们可以水平拆分数据量,同时它还支持跨碎片(可能在多个节点上)分布和并行操作,从而提高性能/吞吐量;
2.ES可以完全自动管理分片的分配和文档的聚合来完成搜索请求,并且对用户完全透明;
3.主分片数在索引创建时指定,后续只能通过Reindex修改,但是较麻烦,一般不进行修改。

8.1.6 副本分片(replica shard):
熟悉分布式的朋友应该对副本对概念不陌生,为了实现高可用、遇到问题时实现分片的故障转移机制,ElasticSearch允许将索引分片的一个或多个复制成所谓的副本分片。

副本分片有什么作用和注意事项呢?

1.当分片或者节点发生故障时提供高可用性。因此,需要注意的是,副本分片永远不会分配到复制它的原始或主分片所在的节点上;
2.可以提高扩展搜索量和吞吐量,因为ES允许在所有副本上并行执行搜索;
3.默认情况下,ES中的每个索引都分配5个主分片,并为每个主分片分配1个副本分片。主分片在创建索引时指定,不能修改,副本分片可以修改。

你可能感兴趣的:(ElasticSearch,elasticsearch)