首页 > 编程知识 正文

elasticsearch入门(重启elasticsearch)

时间:2023-05-03 07:06:50 阅读:103752 作者:1050

一、概述

ElasticSearch是Elastic Stack的核心(ElasticSearch、Kibana、Beats和Logstash)。它可以近乎实时地存储和检索数据;它具有良好的可扩展性,可以扩展到数百台服务器来处理PB级数据。

Github、维基百科、音云、Stack Overflow、百度、新浪、阿里等国内外大公司都在使用Elastic Search。

00-1010

一、ElasticSearch下载安装

1.1 下载

Elastic Stack官网:www.elastic.co/cn.在写这篇文章的时候,最新的版本是7.15.1,但是这篇文章用的是7.8.0。

在窗口下:

Linux:

tar-zxvf elastic search-7 . 8 . 0-Linux-x86 _ 64 . tar . gz

复制代码linux下安装注意事项:

1.您不能使用root用户运行弹性搜索。解决方案如下:创建一个新用户。

添加用户弹性搜索

passwd弹性搜索

chown -R弹性搜索弹性搜索-7.8.0

弹性研究

复制代码2,操作错误:用户[弹性搜索]的最大线程数[3883]太低,至少增加到[4096]。求解:

vim /etc/security/limits.conf

*软nofile 65536

*硬盘文件65536

*软nproc 5000

*硬nproc 5000

根软nproc 5000

根硬nproc 5000

vim /etc/sysctl.conf

vm.max_map_count=655360

sysctl -p

重启#重启服务器

复制代码的其他问题:

Elasticsearch是用java开发的,7.8 ES版本需要jdk 1.8或以上版本,默认安装包有JDK环境。如果系统配置了JAVA_HOME,则使用系统默认的JDK。如果没有配置为使用自己的JDK,通常建议使用系统配置的JDK。双击启动窗口闪回并通过路径访问跟踪错误。如果是“空间不足”,请修改config/jvm.options配置文件:将jvm的初始内存设置为1G。该值可以设置为与-Xmx相同,以防止每次垃圾收集完成时JVM重新分配内存。将JVM的最大可用内存设置为1G。

-Xms1g -Xmx1g

弹性搜索目录描述:

目录

解释

悲伤的绿茶

可执行脚本目录

配置

配置目录

jdk

内置JDK目录

解放运动

classlib

日志

日志目录

模块

模块目录

插件

插件目录

00-1010进入悲伤绿茶目录

Windows:双击运行弹性搜索

Linux:/弹性搜索运行

在浏览器中,访问弹性搜索所在服务器的9200端口,如下所示:

{

名称' : ' DESKTOP-ILYMONEBL ',

cluster _ name ' : ' elastic search ',

cluster _ uuid ' : ' I _-oifhxtm2brh 0 u2ojwjq ',

版本' : {

编号' : '7.8.0 ',

build_flavor': '默认',

build_type': 'zip ',

build _ hash ' : ' 757314695644 ea 9 a1 DC 2 fecd 26 D1 a 43856725 e 65 ',

build _ date ' : ' 2020-06-14t 19:35:50.234439z ',

build_snapshot': false,

lucene_version': '8.5.1 ',

minimum _ wire _ compatibility _ version ' : ' 6 . 8 . 0 ',

minimum _ index _ compatibility _ version ' : ' 6 . 0 . 0-beta 1 '

},

标语' : '你知道,搜索'

}

复制代码

1.2 运行ElasticSearch

lass="pgc-h-arrow-right">二、ElasticSearch操作

1.1 RESTful风格

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外,无状态请求可以由任何可用服务器回答,这十分适合云计算之类的环境。客户端可以缓存数据以改进性能。

在 REST 样式的 Web 服务中,每个资源都有一个地址。资源本身都是方法调用的目标,方法列表对所有资源都是一样的。这些方法都是标准方法,包括 HTTP GET、POST、PUT、DELETE,还可能包括 HEAD 和 OPTIONS。简单的理解就是,如果想要访问互联网上的资源,就必须向资源所在的服务器发出请求,请求体中必须包含资源的网络路径,以及对资源进行的操作(增删改查)。

可以安装用的比较多的一个软件Postman来使用REST操作ElasticSearch,这里不多赘述关于Postman的安装了。下载地址:www.getpostman.com/apps

ElasticSearch里面的数据格式

Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档。很多人为了方便记忆Elasticsearch里存储文档数据和关系型数据库MySQL存储数据的概念进行一个类比。毕竟大部分的人都是从传统的关系※数据库学到NoSQL的。

ElasticSearch里的Index可以看做一个库,而Types相当于表,Documents则相当于表的行。 这里Types的概念已经被逐渐弱化,Elasticsearch 6.X中,一个index下已经只能包含一个type,Elasticsearch 7.X中, Type的概念已经被删除了。

ElasticSearch中索引的CRUD

1、创建索引 如果创建的索引名称已经存在那么会返回错误信息。

PUT http://127.0.0.1:9200/shopping # 返回结果 { "acknowledged": true, # true操作成功 "shards_acknowledged": true, # 分片操作成功 "index": "shopping" # 索引名称 } 复制代码

2、查看索引

查看全部:返回的结果像是一个表格

http://127.0.0.1:9200/_cat/indices?v 复制代码

字段说明:

表头

含义

health

当前服务器健康状态:green(集群完整) yellow(单点正常、集群不完整) red(单点不正常)

status

索引打开、关闭状态

index

索引名

uuid

索引统一编号

pri

主分片数量

rep

副本数量

docs.count

可用文档数量

docs.deleted

文档删除状态(逻辑删除)

store.size

主分片和副分片整体占空间大小

pri.store.size

主分片占空间大小

查看单个索引:与上述的创建索引请求的路径一样,GET是读取操作。

GET http://127.0.0.1:9200/shopping 复制代码

返回结果:

{ # 索引名称 "shopping": { # 别名 "aliases": {}, # 映射 "mappings": {}, # 设置 "settings": { # 索引 "index": { # 创建时间 "creation_date": "1614265373911", # 主分片数量 "number_of_shards": "1", # 副分片数量 "number_of_replicas": "1", # uuid 唯一标识 "uuid": "eI5wemRERTumxGCc1bAk2A", # 当前索引的版本,每一次修改,版本会随着改变 "version": { "created": "7080099" }, # 缩影名称 "provided_name": "shopping" } } } } 复制代码

3、删除索引 删除操作时DELETE请求

DELETE http://127.0.0.1:9200/shopping 复制代码

当索引存在时,删除成功返回:

{ "acknowledged": true } ··· 当删除不存在的索引时,会返回异常信息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。