本文档为Elasticsearch8.5的安装教程;
官方文档
https://www.elastic.co/guide/en/elasticsearch/reference/8.4/install-elasticsearch.html
基本概念
索引: 相当于关系型数据库中的一个数据库. 是搜索的基本对象.
文档: 相当于数据库中的记录, es中存储的一条记录就是一个文档.
字段: 文档中的字段, 有不同的数据类型.
映射: 数据的值与类型的对应关系. es提供了自动映射的功能;
分片: 一个索引设置多个分片, 将数据分开存储, 每个分片可以有多个副本, 类似kakfa中分区的概念;
DSL: (领域特定语言), 用于查询等与es交互的数据格式.
基本架构
节点按照职责分为: master/ 数据节点/ 协调节点
master节点: 负责维护整个集群的相关工作, 创建/删除索引/节点监测等;
数据节点: 数据存储/ 查询/修改; 对IO消耗较大;
协调节点: 负责接收客户端的请求, 并将请求转发到数据节点, 然后将数据汇总并返回给客户端;
应用场景
垂直搜索
推荐系统
二级索引
日志分析
安装(Linux环境)
二进制包的方式:
下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.4.1-linux-x86_64.tar.gz.sha512
shasum -a 512 -c elasticsearch-8.4.1-linux-x86_64.tar.gz.sha512
tar -xzf elasticsearch-8.4.1-linux-x86_64.tar.gz
cd elasticsearch-8.4.1/
启动
./bin/elasticsearch
后台运行
./bin/elasticsearch -d -p pid
docker方式:
拉取镜像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.4.1
启动:
docker network create elastic
docker run --name es01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.4.1
基本配置
# 数据与日志的保存路径
path:
data: /var/data/elasticsearch
logs: /var/log/elasticsearch
# 集群名称: 同一个集群下的各个节点要配置相同的集群名称
cluster.name: logging-prod
# 节点名称: 默认是hostname
node.name: prod-data-2
# 指定的ip地址才可以方位elasticsearch, 配置为0.0.0.0则不限制入口
network.host: 192.168.1.10
# 集群中各个节点的ip以及端口, 配置后可以自动发现并加入到集群中
discovery.seed_hosts:
- 192.168.1.10:9300
- 192.168.1.11
- seeds.mydomain.com
- [0:0:0:0:0:ffff:c0a8:10c]:9301
# 候选主节点
cluster.initial_master_nodes:
- master-node-a
- master-node-b
- master-node-c
# 开启审计安全
xpack.security.audit.enabled: true