Elasticsearch 入门
Elasticsearch是一款基于 Lucene 的开源分布式搜索分析引擎。并且可以结合Kibana、Logstash、 Beats等组件,应用于日志分析、指标监控、信息安全等领域。
与阿里云合作提供阿里云Elasticsearch
特性:高性能、容易使用、容易扩展
在db-engines中整体排名第8, search engine排名第1 db engines
Elastic Stack
Elasticsearch 拥有丰富的产品生态圈,从数据采集(Logstash、Beats)、存储/计算(Elasticsearch)到可视化管理【Kibana】,结合商业插件插件 X-pack,提供“搜索”、“日志分析”、“指标分析”、“安全分析”四大场景解决方案
安装/简单配置 Elasticsearch
windows下
- 下载(7.9.1下载路径)
- 解压
- 配置说明
- 启动
1、2略,
3 如果单机模式默认模式即可
配置说明
配置文件路径$elasticsearch_home\config\elasticsearch.yml
# 集群名称, 相同集群名称就是一个集群
cluster.name: my-es
# 节点名称,同一个集群中节点名称唯一
node.name: node-1
# 是否为数据节点
node.data: true
# 节点访问地址
network.host: 127.0.0.1
# 节点http请求端口
http.port: 9200
# 节点 transport 端口
transport.tcp.port: 9300
# 选举 master节点
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9302", "127.0.0.1:9303"]
# 只要节点已加入集群,即可恢复。一般设置 n/2+1
gateway.recover_after_nodes: 2
# 主节点
cluster.initial_master_nodes: ["127.0.0.1"]
# 是否支持跨域
http.cors.enabled: true
# 允许跨域,默认为*,允许所有访问
http.cors.allow-origin: "*"
- 启动
$elasticsearch_home\bin\elasticsearch.bat - 页面验证
页面
安装路径下内容
目录 | 配置文件 | 描述 |
---|---|---|
bin | 脚本文件,es启动,插件安装等 | |
config | elasticsearch.yml | 集群配置文件 |
jdk | 自带jdk | |
data | path.data | 数据文件路径 |
lib | java类库 | |
logs | path.log | 日志文件 |
modules | 所有es模块 | |
plugins | 包含已安装的插件 |
JVM配置
$elasticsearch_home\config\jvm.options
建议配置-Xms和-Xmx配置一样的大小,不要大于物理集群的内存大小的50%,不要大于30G
安装/简单配置 Kibana
- 下载
- 解压
- 配置
- 启动
1、2略 - 基本配置
$kibana_home\config\kibana.yml
# elasticsearch地址
elasticsearch.hosts: ["http://127.0.0.1:9200","http://127.0.0.1:9202","http://127.0.0.1:9203"]
# 语言配置,可以选择en代表英文,zh-CN代表中文
i18n.locale: "zh-CN"
- 启动
$kibana_home\bin\kibana.bat - 页面访问
http://localhost:5601/
基本概念
文档:是所有可能搜索数据的最小单位,序列化成 JSON 格式保存,每个文档均对应一个 Unique ID和元数据。
索引:是是相似文档的集合,每一个“索引”都有属于自己的 Mapping 定义文档,用于描述包含的字段名和类型。每一个索引可以创建一个 “Type”(Elasticsearch 7.0之后),每个“Type”底下有相同结构的文档。
与关系型数据库类比时,当用于全文检索,Elasticsearch 比较有优势,往往会将Elasticsearch 与数据库组合使用。