ElasticSearch是什么
ElasticSearch(一般简称es)是一个基于Lucene的分布式搜索和数据分析引擎。它提供了REST api 的操作接口。
它可以快速的存储、搜索、分析海量数据,其本质是一个分布式数据库,相对于传统的数据库在性能上高出一大截。
ES相关的基本概念
1、Node:节点,就是单个ElasticSearch实例。多个节点可以组成一个集群。 2、Index:索引,数据是存储在索引中的,可以将其理解为数据库。(7.x之前版本的es一个索引可以存储多个类型,7.x版本则是一个索引只能是一种类型) 3、shards:分片(索引分片),使用es,可以将一个完整的索引设置多个分片,数据存储于不同分片之中,分布到不同的节点之中。分片的优势:
a、它允许水平地分割/扩展内容卷。
b、它允许跨分片(可能在多个节点上)分布和并行操作,从而提高性能和吞吐量。例如数据量非常庞大的是,数据存在不同节点的分片上,可形成分布式搜索,从而达到高效的查询
4、Replicas:副本(索引副本,不是分片副本),一个索引可设置多个索引副本。它的作用:
a、提供了在一个shard/node失败是的高可用性。出于这个原因,很重要的一个点是一个副本从来不会被分配到与它复制的原始分片相同节点上。也就是说,副本是放到另外的节点上的。
b、允许扩展搜索量/吞吐量,因为搜索可以在所有副本上并行执行。
ES相关安装
下载
ES: https://www.elastic.co/downloads/elasticsearch
Kibana: https://www.elastic.co/downloads/kibana
es head:http://mobz.github.io/elasticsearch-head/
第二步、下载完成后解压,并启动;或者是配置成服务。(因为ES中已经包含的java运行环境,所以不用单独下载安装java)
1、在ES解压目录中双击elasticsearch.bat运行
启动成功后,访问9200端口,可以访问就说明启动成功了
若果每次都需要着这样启动es服务非常麻烦,而且控制面板很容易一不小心就被关掉了。所以通常会将es配置成服务---在es的bin目录下通过命令行执行
elasticsearch-service.bat install
另外在bin目录中可执行以下对应的命令完成相应的操作
elasticsearch-service.bat remove ---移除es服务
elasticsearch-service.bat start ---启动es服务
elasticsearch-service.bat stop ---结束es服务
启动kabana
Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。可以用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据。它还能轻松地执行高级数据分析,并将数据以各种形式可视化。
在kabana文件的bin目录下双击kibana.bat运行
访问对应的端口,查看是否安装成功
安装es head
1、在安装es head之前需要安装nodejs
2、安装好nodejs后,在es head文件路径打开命令行。依次执行npm install,npm run start
3、配置es可跨域:修改es配置文件elasticsearch.yml (配置文件在es文件目录的config文件夹中)添加
http.cors.enabled: true
http.cors.allow-origin: "*"
修改完成后需要重启es。
4、访问,并检查是否成功