Elasticsearch介绍及插件head和kibana下载

一、Elasticsearch介绍

Elasticsearch是什么?

			Elasticsearch 是一个基于Lucene的分布式搜索和分析引擎,ES是elaticsearch简写,Elasticsearch是一个开源的高扩展的分布式
		全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch是用Java
		开发,在Apache许可条款下开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用
		方便。
		2013年初,GitHub抛弃了Solr,采取ElasticSearch 来做PB级的搜索。 “GitHub使用ElasticSearch搜索20TB的数据,包括13亿文件和
		1300亿行代码”。除了GitHub还有抖音、淘宝、百度

Elasticsearch核心概念

		Cluster:集群 ES可以作为一个独立的单个搜索服务器。不过为了处理大型数据集,实现容错和高可用性,ES可以运行在许多互相合作的服
		务器上。这些服务器的集合称为集群(多台es机器,组成一个集群)

		Node: 节点 形成集群的每个服务器称为节点。
			
		Shard:分片 当有大量的文档时,由于内存的限制、磁盘处理能力不足、无法足够快的响应客户端的请求等,一个节点可能不够。这种情况下
		数据可以分为较小的分片。每个分片放到不同的服务器上。当你查询的索引分布在多个分片上时,ES会把查询发送给每个相关的分片,并将
		结果组合在一起,而应用程序并不知道分片的存在。即:这个过程对用户来说是透明的
			
		Replia:副本 为提高查询吞吐量或实现高可用性,可以使用分片副本。副本是一个分片的精确复制,每个分片可以有零个或多个副本。
		ES中可以有许多相同的分片,其中之一被选择更改索引操作,这种特殊的分片称为主分片。当主分片丢失时,如:该分片所在的数据不可用
		时,集群将副本提升为新的主分片。
			
		全文检索 全文检索就是对一篇文章进行索引,可以根据关键字搜索,类似于mysql里的like语句全文索引就是把内容根据词的意义进行分词
		然后分别创建索引,例如”今日是周日我们出去玩” 可能会被分词成:“今天“,”周日“,“我们“,”出去玩“ 等token,这样当你搜索“周日”
		或者 “出去玩” 都会把这句搜出来

Elasticsearch & Mysql的比较

Es Mysql
数据库 索引 index
类型 type
一条条记录 文档 document
字段 字段 field[string,int]
建表语句 映射 mapping
索引 一切皆索引
查询语句 Get请求
插入语句 Post请求

Elasticsearch索引到底能处理多大数据?

			单一索引的极限取决于存储索引的硬件、索引的设计、如何处理数据以及你为索引备份了多少副本。通常来说,一个Lucene索引
		(也就是一个elasticsearch分片,一个es索引默认5个分片,可以设置更多)不能处理多于21亿篇文档,或者多于2740亿的唯一词条
		 但达到这个极限之前,我们可能就没有足够的磁盘空间了!当然,一个分片如何很大的话,读写性能将会变得非常差理论下,es可以
		 无限存储,只要机器和硬盘够大。

二、Elasticsearch下载

		官网下载最新版本 	https://www.elastic.co/cn/downloads/elasticsearch
		下载完毕解压安装包,找到bin文件夹里面的Elasticsearch.bat运行即可
		高版本下载完运行之后会自动生成密码注意观察,低版本不需要输入账户密码 访问http://127.0.0.1:9200/端口即可知晓运行成功 如下代码
		{
    
    
		  "name" : "WORK",
		  "cluster_name" : "elasticsearch",
		  "cluster_uuid" : "tXedW_LrR8OOPTfQ21xKMQ",
		  "version" : {
    
    
		    "number" : "7.5.0",
		    "build_flavor" : "default",
		    "build_type" : "zip",
		    "build_hash" : "e9ccaed468e2fac2275a3761849cbee64b39519f",
		    "build_date" : "2019-11-26T01:06:52.518245Z",
		    "build_snapshot" : false,
		    "lucene_version" : "8.3.0",
		    "minimum_wire_compatibility_version" : "6.8.0",
		    "minimum_index_compatibility_version" : "6.0.0-beta1"
		  },
		  "tagline" : "You Know, for Search"
		}

三、Elasticsearch-head

		elasticsearch-head是elasticsearch的一款可视化工具,依赖于node.js ,所以需要先安装node.js
		github下载地址 https://github.com/mobz/elasticsearch-head 下载zip文件解压
		
		每个文件夹都得打开完全控制的权限
		需要Node.js的环境	node.js下载地址 https://nodejs.org/en
		npm install 安装环境依赖
		npm run start 启动head
		
		第一次运行集群健康值颜色区分:
			绿色:最健康的状态,代表所有的分片包括备份都可用
		    黄色:基本的分片可用,但是备份不可用(也可能是没有备份)
		    红色:部分的分片可用,表明分片有一部分损坏。此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好
		    灰色:未连接到elasticsearch服务
	
		灰色解决跨域问题打开elasticsearch.yml文件添加配置 重启即可
		# 开启跨域支持
		http.cors.enabled: true
		# 允许所有人跨域访问
		http.cors.allow-origin: "*"

在这里插入图片描述

四、Elasticsearch-kibana

		Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。
		可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。可以很方便的利用图表、表格及地图
		对数据进行多元化的分析和呈现
		
		下载地址 : https://www.elastic.co/cn/downloads/past-releases#kibana
		
		下载完成解压 配置配置文件 yml文件
		
		server.port: 5601
		server.host: "127.0.0.1"
		server.name: "Like"
		elasticsearch.hosts: ["http://localhost:9200/"]
		
		浏览器访问 http://localhost:5601 即可 会自动创建两个节点 1个索引=一个数据库
		
		Elasticsearch-head用于查询节点 Elasticsearch-kibana用于查询查询数据

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MeiJin_/article/details/133886008