参考资料

  1. BusyBox 是一个集成了多个 Unix 常用工具的轻量级软件
  2. SapMachine 是 SAP 官方维护的 OpenJDK 发行版
  3. Mageia 是一个基于 Linux 的操作系统
  4. r-base 是 R 语言的官方基础镜像,包含了 R 编程语言的核心功能。
  5. Pony 是一个高性能、并发安全的编程语言,专为构建高并发系统设计
  6. RethinkDB 是一个开源的分布式 NoSQL 数据库,专为实时应用设计
  7. Satosa 是一个高度可配置的 Python 实现的身份代理
  8. Docker基于Linux容器技术

Elasticsearch 是一个开源的分布式搜索和分析引擎

Elasticsearch 简介

Elasticsearch 是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建,支持实时数据索引与检索。广泛应用于日志分析、全文搜索、业务监控等场景。

主要特点

  1. 分布式架构:支持水平扩展,自动分片数据。

  2. 近实时搜索:数据写入后秒级可查。

  3. RESTful API:通过 HTTP/JSON 接口操作。

  4. 多租户支持:支持多索引独立管理。

  5. 聚合分析:提供强大的数据分析能力。

最新更新(截至2023年10月)

  • 8.10.0(2023年9月)

    • 新增向量搜索优化

    • 安全功能增强

    • 性能改进

下载地址

文档地址

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  # 禁用安全认证(测试用)

常见问题

  1. 启动报错:内存不足

    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
  2. 连接拒绝

    • 检查防火墙设置

    • 确认 network.host 配置正确

  3. 分片未分配

    PUT _cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.enable": "all"
      }
    }
  4. 认证失败(8.x版本)

    curl -u elastic:password -k https://localhost:9200
    • 启用安全功能后需使用 HTTPS 和基本认证:

  5. 索引只读状态

    PUT _settings
    {
      "index.blocks.read_only_allow_delete": null
    }