Elasticsearch 是一个开源的分布式搜索和分析引擎
2025-05-16
2
参考资料
Elasticsearch 简介
Elasticsearch 是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建,支持实时数据索引与检索。广泛应用于日志分析、全文搜索、业务监控等场景。
主要特点
分布式架构:支持水平扩展,自动分片数据。
近实时搜索:数据写入后秒级可查。
RESTful API:通过 HTTP/JSON 接口操作。
多租户支持:支持多索引独立管理。
聚合分析:提供强大的数据分析能力。
最新更新(截至2023年10月)
8.10.0(2023年9月)
新增向量搜索优化
安全功能增强
性能改进
下载地址
Docker 镜像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.10.0
文档地址
Docker 安装示例
docker run -d --name es01 \ -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ docker.elastic.co/elasticsearch/elasticsearch:8.10.0
YAML 配置示例(elasticsearch.yml)
cluster.name: my-cluster node.name: node-1 network.host: 0.0.0.0 http.port: 9200 discovery.seed_hosts: ["127.0.0.1"] cluster.initial_master_nodes: ["node-1"] xpack.security.enabled: false # 禁用安全认证(测试用)
常见问题
启动报错:内存不足
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low
解决:
sudo sysctl -w vm.max_map_count=262144
连接拒绝
检查防火墙设置
确认
network.host
配置正确分片未分配
PUT _cluster/settings { "persistent": { "cluster.routing.allocation.enable": "all" } }
认证失败(8.x版本)
curl -u elastic:password -k https://localhost:9200
启用安全功能后需使用 HTTPS 和基本认证:
索引只读状态
PUT _settings { "index.blocks.read_only_allow_delete": null }
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。