Elasticsearch系列(1):安装与介绍

2021-06-24 09:57:12 浏览数 (1)

简介

Elasticsearch是一个基于Lucene构建的开源搜索引擎,简称ES。它是使用Java语言开发的,并提供了简单易用的RestFul API,是一种流行的企业级搜索引擎。

Elasticsearch的术语

Elasticsearch与MySQL概念上的类比如下表:

MySQL

Elasticsearch

Table

Index(Type)

Row

Document

Column

Field

Schema

Mapping

Index(索引):一个索引是拥有几分相似特征的文档的集合,类似与MySQL中的Table。

Type(类型):类型是索引中的一个逻辑上的分类或分区,Type的概念已经被逐渐弱化,在Elasticsearch 7.X中,Type的概念已经被删除。

Document(文档):一个文档是一个可被索引的基础信息单元,类似表中的一条记录。

Field(字段):类似与表中的列。

Mapping(映射):类似于MySQL中表的schema。

Elasticsearch安装
安装

下载:

代码语言:javascript复制
cd /opt/
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-linux-x86_64.tar.gz

解压:

代码语言:javascript复制
tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz 
创建用户

Elasticsearch不允许使用root用户启动,所以需要创建用户并将Elasticsearch目录的拥有者设置为创建的新用户:

代码语言:javascript复制
useradd es
passwd es 
chown -R es:es /opt/elasticsearch-7.12.1
修改配置

1.修改conf/elasticsearch.yml,添加配置:

代码语言:javascript复制
cluster.name: elasticsearch
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]

cluster.name:集群名称,默认为elasticsearch。

node.name:节点名称。

network.host:此处配置es服务可以被任何机器访问。

http.port:HTTP端口。

cluster.initial_master_nodes:使用一组初始的符合主节点的节点引导集群,当第一次启动Elasticsearch集群时,集群引导步骤将确定在第一次选举中计票的符合主资格的节点集。

2.修改/etc/security/limits.conf,添加配置:

代码语言:javascript复制
es soft nofile 65536
es hard nofile 65536

3.修改/etc/security/limits.d/20-nproc.conf,添加配置:

代码语言:javascript复制
es soft nofile 65536
es hard nofile 65536
* hard nproc 4096

4.修改/etc/sysctl.conf,添加配置:

代码语言:javascript复制
vm.max_map_count=655360

5.退出重新登录新用户。

启动Elasticsearch

前台启动:

代码语言:javascript复制
/opt/elasticsearch-7.12.1/bin/elasticsearch

后台启动:

代码语言:javascript复制
/opt/elasticsearch-7.12.1/bin/elasticsearch -d

访问localhost:9200,如果返回结果如下则表示启动成功:

代码语言:javascript复制
{
  "name" : "node-1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "K5zjHV0LTQ6fCB-f_klulw",
  "version" : {
    "number" : "7.12.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "3186837139b9c6b6d23c3200870651f10d3343b7",
    "build_date" : "2021-04-20T20:56:39.040728659Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
Elasticsearch目录介绍

bin:可执行脚本目录。

config:配置文件目录。

data:分配在节点上的每个索引/分片的数据文件的位置。

logs:日志文件目录。

plugins:插件文件目录。

lib:类库。

jdk:内置JDK目录。如果配置了环境变量JAVA_HOME,则Elasticsearch启动时会使用JAVA_HOME作为Java路径,否则使用Elasticsearch根目录下内置的JDK目录作为Java路径。

modules:模块目录。

0 人点赞