Elasticsearch 常用工具
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Elasticsearch 常用工具,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4835字,纯文字阅读大概需要7分钟。
内容图文
![Elasticsearch 常用工具](/upload/InfoBanner/zyjiaocheng/1021/0ef630c28e0847488112b76b1da691fb.jpg)
语法格式
? Elasticsearch通过RESTful API和9200端口与其它语言驱动进行通信。
? 它的主要格式如下,这里主要针对curl交互方式,特别繁琐:
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>’
? VERB:HTTP请求方式,如GET\POST\PUT\HEAD\DELETE等
? PROTOCOL:http或者https
? HOST:Elasticsearch中任意节点主机名,或者使用localhost代替本机节点
? PORT:运行Elasticsearch HTTP服务的端口号,默认为9200
? PATH:API终端路径,如_coun返回集群中的文档数量,它可能包含多个组件,例如_cluster/stats以及_nodes/stats/jvm
? QUERY_STRING:任意可选的查询字符串参数,如?pretty将结果进行JSON格式化返回,使其更容易阅读
? BODY:JSON格式请求体,用于POST/PUT/DELETE数据等
交互方式
? 常用的交互方式有以下三种:
- curl命令:
- 较为繁琐
- 较为复杂
- 容易出错
- 不用安装额外软件
- es-head工具:
- 查看数据方便
- 操作相对容易
- 需要node环境
- kibana工具:
- 查看数据及报表的格式丰富
- 操作简单
- 需要安装java环境和配置kibana
? 此外,由于Elasticsearch是RESTful API的交互方式,也可使用postman工具与其进行交互。
? 重要的一点是必须修改Elasticsearch配置文件,让其能够支持CORS跨域请求:
vim /etc/elasticsearch/elasticsearch.yml
# 添加:
http.cors.enabled: true
http.cors.allow-origin: "*"
? 最后别忘了重启Elasticsearch服务。
Es-Head
下载安装
? 很久之前该工具是Elasticsearch内置的,但是在5.0后被移除,用于可视化Elasticsearch,通过它能够更加直观的查看数据信息、监控集群状态等。
? 需要node.js环境支持,或者你也可以直接使用别人封装好的docker镜像。
? 我这里演示在MAC本机上操作局域网内Elasticsearch服务器。
? 该插件官方地址如下:
https://github.com/mobz/elasticsearch-head
? 使用docker部署Elasticsearch-head:
$ docker pull alivv/elasticsearch-head
$ docker container run -d -p 9100:9100 --name="es-head" --restart=always alivv/elasticsearch-head:latest
? 或者使用node.js编译安装Elasticsearch-head:
$ yum install nodejs npm openssl screen -y
$ node -v
$ npm -v
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
$ cd /opt/
$ git clone git://github.com/mobz/elasticsearch-head.git
$ cd elasticsearch-head/
$ cnpm install
$ cnpm run start
$ Ctrl+A+D
基本使用
? 由于网速原因,我这里使用docker进行的部署,现在可以打开浏览器访问MAC本地地址,端口号是9100(head),即为head工具的端口号。
? 一般来说,该工具我们只会用它3个地方,分别是概览,索引,数据浏览。
? 并不推荐在该工具中对Elasticsearch进行数据增删改,仅提供浏览功能即可。
? 现在,让我创建一个index,查看Elasticsearch-head中的变化:
? 变化如下:
概念铺垫
? 每一个index创建后,默认都会有5个分片,被称之为主分片。
? 除此之外,默认还会有1个副本,副本也是5个分片,被称之为副本分片。
? 在上面的示例中由于是单节点的Elasticsearch故副本无效,所以右侧集群健康值变黄。
Elasticsearch天生为集群而生,一个Elasticsearch服务就会被认为是一个集群
? 一个分片,底层就是一个Lucene的索引,包含了倒排索引文件的目录,这样的结构使得Elasticsearch可以在不扫描全部文档的情况下快速的拿出想要的数据。
? 集群状态颜色有以下几种变化:
- 绿色:所有条件符合,数据完整,副本满足
- 黄色:数据完整,但副本不满足
- 红色:索引数据不完整
- 紫色:有分片正在同步中(多节点)
Kibana
功能概述
? kibana是针对Elasticsearch的开源分析以及可视化平台,能够提供各种图表等高级数据的分析展示功能。
? 同时,操作也非常简单,相较于crul命令能有效提高工作效率,是Elasticsearch数据分析的必备软件。
? 注意!kibana必须与Elasticsearch安装版本一致
下载安装
? 由于我们的Elasticsearch是7.6.1版本,故kibana也要7.6.1版本:
? 由于该工具依然要求npm环境等,所以这里采用docker进行安装部署。
? 我这里演示在MAC本机上操作局域网内Elasticsearch服务器。
? 查看所有kibana版本:点我跳转
? 1)拉取镜像:
$ docker pull docker.elastic.co/kibana/kibana:7.6.1
? 2)创建容器挂载目录:
$ mkdir -p /opt/docker/kibana/config
? 3)配置kibana文件:
$ vim /opt/docker/kibana/config/kibana.yml
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
# elasticsearch服务器的地址:
elasticsearch.hosts: [ "http://192.168.0.110:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
? 4)运行镜像,获得容器,需要等很久:
$ docker run -d --name="kibana" --restart=always -p 5601:5601 -v /opt/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:7.6.1
? 5)查看容器日志,当有内容变化时代表启动成功了,这个过程可能要持续半分钟:
$ docker logs -ft kibana
汉化设置
? 浏览器输入127.0.0.1:5601,连接至局域网内的Elasticsearch服务器:
? 可以看见默认是英文,在这里为其进行汉化设置。
? 我们只需要加上一行配置:
$ vim /opt/docker/kibana/config/kibana.yml
# 添加到底部
i18n.locale: zh-CN
? 接下来重启容器即可:
$ docker container rm -f kibana
$ docker container ls -a
$ docker container rm -f 容器id
$ docker run -d --name="kibana" --restart=always -p 5601:5601 -v /opt/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml docker.elastic.co/kibana/kibana:7.6.1
? 查看容器日志,当有内容变化时代表启动成功了,这个过程可能要持续半分钟:
$ docker logs -ft kibana
基本使用
? 现在我们可以点击左侧扳手进行命令输入了,如增加一个库:
内容总结
以上是互联网集市为您收集整理的Elasticsearch 常用工具全部内容,希望文章能够帮你解决Elasticsearch 常用工具所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。