ElasticSearch(1)------安装ElasticSearch&Kibana
ElasticSearch(1)------安装ES&Kibana
前言
ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于Restfulweb接口.ES是用java开发的,是当前流行的企业级搜索引擎.在本系列博文中,我们将来一起学习ElasticSearch的相关知识.
正文
1.1 ES的基本概念
关键词 | 解释 |
---|---|
Index | 类似于mysql数据库中的的database |
Type | 类似于mysql中的table表 |
Document | 由于es存储的数据是文档型的,一条数据对应一篇文档,相当于数据库中的一行数据row |
Field | es中一个文档中对应的多个列,和mysql中的每一列对应 |
QueryDSL | 类似sql语句,在es中使用json格式的查询语句 |
GET/PUT/POST/DELETE | 类似mysql中的select/update/delete等 |
1.2 安装运行ES
在这里我们在Linux系统上使用Docker来运行一个es.
我们可以在DockerHub上使用找到自己要使用的ElasticSearch版本,在这里我们使用6.7.0版本的ES.下面是下载的命令:
docker pull elaseticsearch:6.7.0
下载好以后,我们可以运行这个镜像,它会为我们创建一个ES容器,我们只需要使用下面的命令来运行即可:
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.7.0
启动完成后我们可以使用docker ps
来查看运行的容器,需要注意的是,ES的启动对内存是有严格的要求的,如果发现运行了容器以后还是没有启动,就要去设置对应的内存,这个可以自行百度.
ES默认的web端口是9200,我们在启动完成后访问服务器IP:9200
就可以看到es的相关内容了:
1.3 安装ElasticSearch-Head插件管理ES
ES-HEAD是一个ES的插件,可以支持在管理界面查看ES的相关信息,我们依旧可以使用docker来安装:
#拉取ES-Head镜像
docker pull mobz/elasticsearch-head:5
# 启动
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
在这里,我们是要使用ES-Head来管理ES,所以要在ES的配置文件中开启跨域配置:
#进入ES配置文件
docker exec -it ES容器名或者name /bin/bash
#进入config目录
cd config
#修改elasticsearch.yml文件
vi elasticsearch.yml
#增加跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
#保存修改内容后退出容器
exit
#重启ES
docker restart ES容器ID
在结果以上配置以后,我们就可以用es-head来管理es了,只需要访问以下地址:
服务器地址:9100
需要注意的是,如果是自己虚拟机的linux,要关闭防火墙,如果是阿里或者腾讯的云服务器,需要开放对应的端口.
1.4安装Kibana管理ES
除了以上的ES-Head插件来管理ES,我们也可以使用另外一种管理工具:Kibana
Kibana是一个正对ElasticSearch的开源分析及可视化平台,使用Kibana可以查询,查看并与存储在ES的数据进行交互,还可以进行高级的数据分析,用图表或者表格等方式来查看数据.
#下载kibana的docker镜像
docker pull kibana:6.7.1
#运行Kibana,需要注意,下面的命令中使用的network要和es启动时使用的network一致.
docker run -it -e ELASTICSEARCH_URL=http://ES服务器地址:9200 --name kibana --network=somenetwork -p 5601:5601 -d 容器ID或者name
启动可能会有点久,我们可以使用命令docker logs 容器ID
来查看日志,如果启动正常,应该是以下状态:
我们可以在浏览器访问:http://服务器ID:5601/
来打开Kibana的web管理界面:
那么到这里,我们的kibana就正常启动了.
总结
以上就是在CentOS上安装运行ES以及插件的过程,在安装过程中遇到问题可以查看官方文档.在这里我们使用Docker容器技术来运行,也是为了方便使用,如果直接在linux系统上安装ES和Kibana,还需要配置更多的东西,这里不赘述.