2021-10-14----elasticsearch概括

什么是ES?

Elasticsearch是分布式搜索和分析引擎,可以实现快速的搜索大量的数据的功能,并且实现搜索过程中的计算分析。
分析计算,伴随着搜索过程实现的,他可以实现的功能:

  • 搜索100个数据中任务,统计多少人是35以下,多少人是35以上。
  • 在搜索时,做聚合分析,最大值,最小值,平均值等等。

天生分布式,数据本身就在ES中以多个分片的结构存在

安装启动配置ES的环境

先克隆3个虚拟机

  • 选择克隆
    -在这里插入图片描述
  • 选择当前状态

在这里插入图片描述

  1. 链接克隆
  2. 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ES01,ES02,ES03
    启动虚拟机,调整网络
    vim /etc/sysconfig/netwok-scripts/ifcfg-ens33
    在这里插入图片描述

目录结构

在这里插入图片描述
bin:启动命令
config:

  • elasticsearch.yml:es节点核心属性配置文件
  • jvm.options:es启动的jvm配置,占用内存
    logs:日志文件
    data:一个es节点保存的所有索引,集群状态数据(存在的话会影响集群搭建)
rm -rf data# 强制删除

plugins:IK分词器插件

ES启动

不允许root用户启动软件,当前虚拟机中准备了一个tedu的用户,可以实现启动es的命令
切换用户tedu

# su tedu

启动目录
es根目录bin文件夹下
注:如果不能用tab键直接提示,需要加./
$elasticsearch在控制台输出日志
$elasticsearch -d 在后台运行(不介意,不方便观察日志信息,错误信息)
##验证访问
通过一个请求,访问es(当前状态无法通过外界请求)。从本地发送一个http请求,可以使用curl命令
curl “localhost:9200” ,看到的信息如下,说明当前es启动环境证明没有问题。
在这里插入图片描述

内存占用分配问题

虚拟机内存上限2g,es默认要求启动环境内存上限时2g,当前虚拟机config文件夹下jvm.options中,可以调整运行内存分配,修改成1g。
在这里插入图片描述
打开es家目录中config下jvm.options修改23行。
在这里插入图片描述

体验操作es实现数据读写功能

  • 创建索引
    使用curl命令,发起一个http的put请求,在es中新增了一个就做index01的索引(看成是database)
    在这里插入图片描述
  • 观察索引文件
    当前在es新增的索引文件是数据的一部分,存在与es家目录中data文件。

es的head插件

通过es的文件夹查看数据时非常复杂麻烦,所以可以使用这样一个html5插件来展示视图的页面

  • 启动一个head的插件
    3个虚拟机,任意一个虚拟机都存在这个head插件,后续使用过程中,只需选择开启其中一个就行。
    head插件文件夹目录
    /home/presoft/elasticsearch-head
    进入到文件夹,直接运行启动命令
grunt server

在这里插入图片描述
由于head提前配置安装好的,ip地址一定和当前虚拟机不同,所以需要修改ip地址配置
head插件家目录中,有一个gruntfile.js文件
在这里插入图片描述
重新启动后
在这里插入图片描述

  • 插件的使用
    使用windows的浏览器访问当前head插件启动时提示的地址
    在这里插入图片描述
    head插件的作用,仅仅是向es发送一些查看状态和数据的请求(根据es的接口地址,可以通过F12查看到所有head插件发送的请求)。将es的返回响应做数据解析,放到视图中展示
    可以在head插件中地址栏输入当前你想让head插件连接的es节点ip:9200
    在这里插入图片描述

es配置文件

如果我们想要控制一个es运行进程(es节点)的运行特性。可以通过修改核心配置文件elasticsearch.yml。位置在config文件夹中,es提供了模板和解释。
在这里插入图片描述

Rest风格

启动es,es集群都是支持http协议的访问的,将每一个http协议的访问,看成是协调es功能的一次命令,遵循Rest风格的接口命令设计。

Rest风格是?

背景

蒂姆.博纳斯.李(http协议创始人)2001年提出论文,讨论Rest风格
住址:http协议,大量人员卵用,遵循Rest风格
http协议基于语法的使用,

  • Rest定义
    • uri:url地址,只要请求地址不变,永远应该指向唯一的一个网络资源(一个请求地址,对应一个网络资源)
    • http方法方式:请求方式不同,操作功能不同
      • get
      • post
      • delete
      • patch
      • header

Rest风格怎么用

按照Rest风格,我们教务系统为例,应该设计成http://www.aise.com/major/manage/{majorId}
如果想要新增一个专业,put请求【请求体数据】,如果想要查询一个专业get请求{查询条件}

Rest风格有什么好处

对于程序接口设计,有规范化,方便对程序更新维护
老代码1.0
服务端
/product/manage/save
/product/manage/update
/product/manage/delete
客户端遵循服务端接口
新版本2.0
/product/manage/insert
/product/manage/edit
/product/manage/remove

CURL命令

curl命令脚本,支持http协议,发送http协议请求,可以利用这个命令,发送向es的所有操作请求。

语法

curl -X<method> <protocal><url>?<query> -d <request-body> -H<header-content>
  • method :请求方式,例如GET,PUT,POST
  • protocal:协议,例如http,https
  • url:请求地址
  • query:查询参数
  • request-body:请求体参数{es中,请求体基本都是json字符串}
  • header-content:头信息,例如:HOST:www.baidu.com Content-type:text\html;charset=utf-8 Content-type:application/json

操作使用curl访问es节点

  • 新增一个索引
curl -XPUT http://192.168.137.162:9200/index01?pretty

在这里插入图片描述

  • 查询一个索引
curl -XGET http://192.168.137.162:9200/index01?pretty

在这里插入图片描述

  • 删除一个索引
curl -XDELETE http://192.168.137.162:9200/index01?pretty
  • 新增一个数据
curl -XPUT http://192.168.137.162:9200/index001/_doc/1?pretty -d '{"name":"王翠花","age":"18"}' -H 'Content-Type:application/json'

在这里插入图片描述

准备好一个可以被外界访问的节点

  • 将原有的模板elasticsearch.yml备份一下
    cp elasticsearch.yml elasticsearch.yml.bak
    vim elasticsearch.yml
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值