Elasticsearch 是一个实时分布式搜索和分析引擎
特点:
具有实时搜索,实时分析,
分布式架构,实时文件存储,并将每一个字段都编入索引
文档导向,所有的对象都是文档
高可用 、易扩展 支持集群、分片和复制
接口友好,支持json
去中心化的集群,没有中心节点,从外部来讲,ES集群在逻辑上讲是一个整体,从内部来讲,集群中可以有很多个节点,其中有一个master节点,主节点不是配置文件定义的,而是通过选举产生的.
1,环境准备
node1: masternode,主节点,主要处理元数据,当主节点故障后,集群会候选新的主节点.
(数据存储和查询都不会走主节点,所以主节点压力相对较小,但是主节点重要,一旦宕机,整个ES集群将不可用,所以一定要稳定)
node2:data node ,主要存储数据节点,保存数据分片,数据节点上面执行的操作都比较消耗CPU MEM和IO,所以硬件要求较高.
node3:client node,可以成为客户端节点,可选节点,主要存储元数据,可以作为datanode的分担一部分压力.
2,安装与授权
官方地址: https://www.elastic.co/cn/
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1.2-linux-x86_64.tar.gz
# tar xf elasticsearch-8.1.2-linux-x86_64.tar.gz
# mv elasticsearch-8.1.2
/usr/local/elasticsearch
# useradd elasticsearch
#创建普通用户运行es
# chown -R elasticsearch:elasticsearch /usr/local/elasticsearch/
#并对用户进行目录授权
对ES调优主要针对的是操作系统和JVM调优:
操作系统:
# vim /etc/sysctl.conf
fs.file-max=655360 #系统最大打开关键描述访问
vm.max_map_count=262144 #影响java线程数量 默认 65536
soft nproc 20480 #进程最大打开关键描述符 最大用户进程数 最大锁定内存空间
hard nproc 20480
soft nofile 65536
hard nofile 65536
soft memlock unlimited
hard memlock unlimited
删除/
JVM: