此篇文章是我去年在给项目组内做一次组内培训时写的一份PPT,现将其中的Linux中安装Elasticsearch及其简单使用的部分拿出来。
目录
1:ES6.2搭建
1.1 Elasticsearch简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
1.2 Elasticsearch安装
1.首先获得安装包:
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz
注:在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称curl为下载工具。
2.解压
tar -xzf elasticsearch-6.2.2.tar.gz
3.创建es用户
•root@elk2 opt]# groupadd es
•[root@elk2 opt]# useradd es -g es
•[root@elk2 opt]# passwd es
•更改用户 es 的密码 。
•新的 密码:
•重新输入新的 密码:
•passwd: 所有的身份验证令牌已经成功更新
4.修改es目录权限
[root@elk2 opt]# chown -R es:es elasticsearch-6.2.2
5.切换es用户
[root@elk2 opt]# su es
6.运行es
[es@elk2 opt]$ cd elasticsearch-6.2.2
[es@elk2 elasticsearch-6.2.2]$ ./bin/elasticsearch
ES运行成功的截图
2:Head页面搭建
2.1 安装node
在5.0以上版本中不支持直接安装head插件,需要启动一个服务。
由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm可以理解为maven)
node下载地址nodejs.org/
npm下载地址https://www.npmjs.com
使用npm安装grunt:
npm install –g grunt–cli
到elasticsearch-head-master目录下,运行命令:
npm install
2.3 修改配置文件
修改配置,启动插件编辑elasticsearch-5.5.0/config/elasticsearch.yml,加入以下内容(解决head到es的跨域问题)
http.cors.enabled: true
http.cors.allow-origin: "*“
打开elasticsearch-head-master/Gruntfile.js,找到下面connect属性,新增
在elasticsearch-head-master/目录下,运行启动命令:grunt server
启动成功:
Head页面
3:ES基础Linux命令
3.1 基础操作ES的Linux命令
集群、节点、索引等状态信息的查看命令:
查看健康情况:
curl -XGET '192.168.56.129:9200/_cat/health?v'
颜色代表状态:红黄绿;Node是节点个数;Shards是分片个数;Pri是分片中主分片的个数
查看索引:
3.2 Linux中的ES数据的增删改查
# 命令遵循的格式:
curl-X<REST Verb><Node>:<Port>/<Index>/<Type>/<ID>
# 新增修改是PUT请求,删除是DELETE请求,查询是GET
# 新增
curl -H "Content-Type: application/json" -XPOST '192.168.56.129:9200/test/article/55555?pretty' -d' {"name": "lld" }‘
# 删除
curl -XDELETE '192.168.56.129:9200/test/article/1?pretty’
# 修改
curl -H "Content-Type: application/json" -XPUT '192.168.56.129:9200/test/article/BN5pJGYBHl4hOqy8h5su?pretty' -d ' { "name": "00258" }’
# 查询
curl -XGET '192.168.56.129:9200/test/_search?pretty’
# 根据id查询数据
curl -H "Content-Type: application/json" -XGET '192.168.56.129:9200/test/_search?pretty' -d '
{
"query": {
"bool": {"must": [{"term": {
"id": "9"
}}],"must_not": [ ],"should": [ ]}},"from": 0,"size": 10,"sort": [ ],"aggs": { }}'