ES快速入门

目录

  1. 什么是ES
  2. ES安装
  3. 快速了解

1.什么是ES

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

1.1Es一些概念

es与数据库关键观念对应 ``` Relational DB -> Databases -> Tables -> Rows -> Columns Elasticsearch -> Indices -> Types -> Documents -> Fields ``` Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)

2.安装ES

#### 2.1下载ES 两个途径: 途径一:[ES官网下载](https://www.elastic.co/downloads/elasticsearch) 途径二: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz ES一个非常大的优点开箱即用 无需过多复杂配置

2.2解压

tar -xzvf 现在的ES文件

2.3修改配置(外网访问及端口)

修改 config/elasticsearch.yml (如果是阿里云服务器 一定要将9200加入到安全组中!!!)
network.host: 0.0.0.0
http.port: 9200

2.4启动(注意了:es不允许root用户启动)

root用户启动后出现以下
问题1:不允许root用户启动

Caused by: java.lang.RuntimeException: can not run elasticsearch as root

解决方式切换账户
或者增加账户

groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch:elsearch /home/dongshuo/elasticsearch

**问题2:**检查参数错误

[2019-07-23T17:18:33,662][DEBUG][o.e.a.ActionModule       ] [79TXMa5] Using REST wrapper from plugin org.elasticsearch.xpack.security.Security
[2019-07-23T17:18:34,105][INFO ][o.e.d.DiscoveryModule    ] [79TXMa5] using discovery type [zen] and host providers [settings]
[2019-07-23T17:18:35,897][INFO ][o.e.n.Node               ] [79TXMa5] initialized
[2019-07-23T17:18:35,898][INFO ][o.e.n.Node               ] [79TXMa5] starting ...
[2019-07-23T17:18:36,279][INFO ][o.e.t.TransportService   ] [79TXMa5] publish_address {172.17.236.234:9300}, bound_addresses {0.0.0.0:9300}
[2019-07-23T17:18:36,371][INFO ][o.e.b.BootstrapChecks    ] [79TXMa5] bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2019-07-23T17:18:36,416][INFO ][o.e.n.Node               ] [79TXMa5] stopping ...
[2019-07-23T17:18:36,531][INFO ][o.e.n.Node               ] [79TXMa5] stopped
[2019-07-23T17:18:36,531][INFO ][o.e.n.Node               ] [79TXMa5] closing ...

解决方式为:

vi /etc/security/limits.conf 修改
#添加如下内容:
* soft nofile 65536
* hard nofile 131072


vi /etc/security/limits.d/XX-nproc.conf 修改
#修改为
* soft nproc 4096

vi /etc/sysctl.conf  修改
vm.max_map_count=655360

sysctl -p  退出执行文件刷新

3.简单使用

我们启动成功后可通过以下命令测试是否配置成功
插入数据
curl -X PUT \
  http://127.0.0.1:9200/people/employee/1 \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 12971301-d285-472c-bdd0-7dd2287b3386' \
  -H 'cache-control: no-cache' \
  -d '
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}'
查询数据
curl -X GET \
  http://127.0.0.1:9200/people/employee/1 \
  -H 'Postman-Token: a7b04148-5f15-4f2d-b735-9bd7930231e2' \
  -H 'cache-control: no-cache'

本文只是开始 , 后续会有更好的文章推荐给大家!!!

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 撸撸猫 设计师:C马雯娟 返回首页