## Elasticsearch、 Logstash、Kibana安装教程
> 本文分别介绍Windows和Linux下的Elasticsearch的安装流程。
>
> 特别说明:本文中ES为Elasticsearch简写。
### 一、什么是Elasticsearch?
**Elasticsearch**是一个基于[Lucene](https://zh.wikipedia.org/wiki/Lucene)库的[搜索引擎](https://zh.wikipedia.org/wiki/搜索引擎)。它提供了一个分布式、支持多租户的[全文搜索](https://zh.wikipedia.org/wiki/全文檢索)引擎,具有[HTTP](https://zh.wikipedia.org/wiki/HTTP) Web接口和无模式[JSON](https://zh.wikipedia.org/wiki/JSON)文档。Elasticsearch是用[Java](https://zh.wikipedia.org/wiki/Java)开发的,并在[Apache许可证](https://zh.wikipedia.org/wiki/Apache许可证)下作为开源软件发布。官方客户端在[Java](https://zh.wikipedia.org/wiki/Java)、[.NET](https://zh.wikipedia.org/wiki/.NET框架)([C#](https://zh.wikipedia.org/wiki/C♯))、[PHP](https://zh.wikipedia.org/wiki/PHP)、[Python](https://zh.wikipedia.org/wiki/Python)、[Apache Groovy](https://zh.wikipedia.org/wiki/Groovy)、[Ruby](https://zh.wikipedia.org/wiki/Ruby)和许多其他语言中都是可用的。[[5\]](https://zh.wikipedia.org/wiki/Elasticsearch#cite_note-offizsite-5)根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是[Apache Solr](https://zh.wikipedia.org/wiki/Apache_Solr),也是基于Lucene。[[6\]](https://zh.wikipedia.org/wiki/Elasticsearch#cite_note-6)
### 二、安装Elasticsearch
> 在安装Elasticsearch之前,您需要安装JDK环境。由于ElasticSearch 5.x 往后依赖于JDK 1.8,因此,按照使用需求,建议安装JDK1.8。JDK安装地址:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
1. [ElasticSearch下载地址](https://www.elastic.co/downloads/elasticsearch)
2. 将下载的安装压缩包解压。例如,D:\elasticsearch-7.6.0。
<img src="C:\Users\Zhoujiankang\AppData\Roaming\Typora\typora-user-images\image-20220305135552572.png" alt="image-20220305135552572" style="zoom:50%;" />
3.进入到解压后的Elasticsearch目录bin下,双击执行elasticsearch.bat文件,启动elasticsearch。直至stared信息打印出来。
<img src="C:\Users\Zhoujiankang\AppData\Roaming\Typora\typora-user-images\image-20220305135633083.png" alt="image-20220305135633083" style="zoom:50%;" />
打开浏览器,输入 **http://localhost:9200** ,显式以下画面,说明ES安装成功。
<img src="C:\Users\Zhoujiankang\AppData\Roaming\Typora\typora-user-images\image-20220305135816758.png" alt="image-20220305135816758" style="zoom: 80%;" />
### 三、安装Head插件
为了便于管理Elasticsearch,可以使用head插件。这是最初级的管理工具,在浏览器中显示ES集群,索引等信息,十分好用。
> 在安装head插件之前,需要先安装Node.js环境。[https://nodejs.org/en/download/](https://nodejs.org/en/download/) 我的Node.js版本为v16.14.0
1.安装grunt
grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.x里之后的head插件就是通过grunt启动的。因此需要安装grunt。
```cmd
#安装命令
npm install -g grunt-cli
#查看版本
grunt -version
```
2.下载head插件
[下载地址:https://github.com/mobz/elasticsearch-head](https://github.com/mobz/elasticsearch-head),下载安装包后,解压。如D:\elasticsearch-head-5.0.0
![image-20220305143745374](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220305143745374.png)
3.进入到head文件下,执行命令:npm install
> 此处是为安装进行安装pathomjs, 如果安装速度慢,设置成淘宝的镜像重新安装 npm config set registry [https://registry.npm.taobao.org](https://registry.npm.taobao.org/)
<img src="C:\Users\Zhoujiankang\AppData\Roaming\Typora\typora-user-images\image-20220305144125997.png" alt="image-20220305144125997" style="zoom:80%;" />
4.安装完成后,执行如下命令,启动head插件。
```
npm run start
#或者
grunt server
```
![image-20220305144709624](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220305144709624.png)
5.修改Elasticsearch的参数,编辑config目录下的elasticsearch.yml文件。
![image-20220305145210178](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220305145210178.png)
修改如下,添加如下内容。
```
# 增加新的参数,这样head插件可以访问es
http.cors.enabled: true
http.cors.allow-origin: "*"
@注意,设置参数的时候:后面要有空格!
```
![image-20220305145630091](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220305145630091.png)
5.修改完配置后。关闭Elasticsearch,再重启ES(双击elasticsearch.bat文件)。打开浏览器,访问http://localhost:9100/ ,出现如下界面信息,即表示Head插件安装成功。
![image-20220305150909814](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220305150909814.png)
除此之外,还可以选择在谷歌浏览器中安装插件Elasticsearch-Head,点击浏览器插件按钮,访问 [http://localhost:9100/](http://localhost:9100/),即可以方便管理ES集群和索引等信息。重启插件钱,确保Elasticsearch开启,再输入命令`npm server start`,以启动插件。
<img src="https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220306214533800.png" alt="image-20220306214533800" style="zoom:80%;" />
至此,Elasticsearch和Elasticsearch-head插件的安装流程介绍完毕。
### 四、**ElasticSearch安装为Windows服务**
> Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器环境特别适合。它没有用户界面,并且也不会产生任何可视输出。任何用户消息都会被写进Windows事件日志。计算机启动时,服务会自动开始运行。它们不要用户一定登录才运行,它们能在包括这个系统内的任何用户环境下运行。通过服务控制管理器,Windows服务是可控的,可以终止、暂停及当需要时启动。
>
> Windows 服务,以前的NT服务,都是被作为Windows NT操作系统的一部分引进来的。它们在Windows 9x及Windows Me下没有。你需要使用NT级别的操作系统来运行Windows服务,诸如:Windows NT、Windows 2000 Professional或Windows 2000 Server。举例而言,以Windows服务形式的产品有:Microsoft Exchange、SQL Server,还有别的如设置计算机时钟的Windows Time服务。
进入bin目录下,输入命令安装。
```
cd bin
bin>elasticsearch-service.bat install
```
![image-20220305151606312](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220305151606312.png)
可在服务程序中,查看elasticsearch已经存在。安装Windows服务后,即可开机自启动。
如果服务没有开启成功,就要选择手动开启Elasticsearch,双击Elasticsearch.bat文件,再访问网址。
##### 补充
```
elasticsearch-service.bat后面还可以执行这些命令
install: 安装Elasticsearch服务
remove: 删除已安装的Elasticsearch服务(如果启动则停止服务)
start: 启动Elasticsearch服务(如果已安装)
stop: 停止服务(如果启动)
manager:启动GUI来管理已安装的服务
```
### 五、安装Kibana
Kibana 是为 Elasticsearch设计的开源分析和可视化平台。你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互。你可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。
1.下载Kibana,[下载地址](https://www.elastic.co/cn/downloads/kibana) 下载到压缩包,并解压。
![image-20220307223034651](C:\Users\Zhoujiankang\AppData\Roaming\Typora\typora-user-images\image-20220307223034651.png)
2.双击kibana.bat文件,启动Kibana。(启动Kibana之前,确保Elasticsearch启动。)Kibana与Elasticsearch进行交互。
![image-20220307223429875](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220307223429875.png)
3.打开浏览器,访问http://localhost:5061
![image-20220307223910722](https://mybolg-typora.oss-cn-beijing.aliyuncs.com/image-20220307223910722.png)
至此,Kibana就安装成功了。
### 六、Logstash的安装
日后补充。
### **七、ELK 是什么?**
ELK = Elasticsearch + + Kibana
- Elasticsearch:后台分布式存储以及全文检索。
- Logstash: 数据导入导出的工具。
- Kibana:[数据可视化](https://cloud.tencent.com/product/yuntu?from=10680)展示界面。
参考文档:
[https://cloud.tencent.com/developer/article/1547682](https://cloud.tencent.com/developer/article/1547682)
Elasticsearch、 Logstash、Kibana安装教程