ELK入门系列(02)——Elasticsearch的快速安装及
1、前言
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
- 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
- 实时分析的分布式搜索引擎。
- 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
2、基本概念
Elasticsearch是面向文档型数据库,一条数据在这里就是一个文档,用JSON作为文档序列化的格式,以一下数据为例:
{
"name" : "John",
"sex" : "Male",
"age" : 25,
"birthDate": "1990/05/01",
"interests": [ "sports", "music" ]
}
以上数据我们可以很容易的用关系型数据库建立一张user表来存储,它以一条数据(行)存储到数据库表中,在ElasticSearch中,则是以一个文档(doc)来存储, 这个文档会属于user类型,各种各样的类型存在于一个索引当中。这里有一份简易的将Elasticsearch和关系型数据术语对照表:
关系数据库 ⇒ 数据库 ⇒ 表 ⇒ 行 ⇒ 列(Columns)
Elasticsearch ⇒ 索引(Index) ⇒ 类型(type) ⇒ 文档(Docments) ⇒ 字段(Fields)
一个Elasticsearch 集群服务中可以包含多个索引(index),每个索引中又可以包含多个类型(type),Elasticsearch 提供了最简单已用的HTTP的Restful API方式去操作。
以下我们就简单搭建一个单节点的Elasticsearch
3、搭建
-
安装Java JDK:在安装Elasticsearch引擎之前,必须安装ES需要的软件环境,安装Java JDK和配置JAVA_HOME环境变量,Elasticsearch5.0以上版本需要安装jdk1.8,其他版本安装jdk1.7即可。安装jdk后最好禁用Java JDK的自动更新。
-
从官方下载中心:ElasticSearch Download下载ElasticSearch安装包并解压。
-
解压、修正配置
解压
tar -xzvf elasticsearch-6.2.3.tar.gz
修正配置
vim ./elasticsearch-6.2.3/config/elasticsearch.yml
添加以下配置:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
1565414283(1).png
- 启动
这里要注意的是,ElasticSearch在5.x版本之后处于安全考量,需要以非root权限才能启动。所以记得要是用普通账号启动。
这里可能会碰到一些权限问题,请查阅
其他配置问题(内存限制、线程数限制、启动异常等等)请查阅
- 测试
访问http://host:9200
1565417468(1).jpg
基础语法请查阅官方教程